加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Docker应承构建、运行、拉

发布时间:2021-05-27 01:19:02 所属栏目:教程 来源:互联网
导读:对付已经用了好久docker的人,也许必要耗费些工夫去说服本身去思量转换行使差异的器材。 Docker是一个复杂单一的器材,它实行做任何事,但凡是没有效最好的要领
副问题[/!--empirenews.page--]

对付已经用了好久docker的人,也许必要耗费些工夫去说服本身去思量转换行使差异的器材。

Docker是一个复杂单一的器材,它实行做任何事,但凡是没有效最好的要领去做。我们最好选择只做一件事,但确实做得很好的专门器材。假如畏惧切换差异的器材集,担忧不得不进修行使差异的呼吁行界面(CLI)、差异的API或凡是行使差异的观念,那么此刻这将不再是题目。

选择本文中表现的任何器材都是完全无缝跟尾的,由于它们(包罗Docker)都遵循开放容器打算(OCI)下的沟通类型。该打算包括有关容器运行时、容器分发和容器镜像的类型,涵盖了行使容器所需的全部成果。借助OCI,你可以选择最切合需求的一组器材,与此同时如故可以行使与Docker沟通的API和CLI呼吁。

因此,假如你乐意实行新器材,那么请较量一下Docker及其竞争敌手的上风、劣势和成果,看看是否有须要思量放弃Docker,试试某些新器材。

容器引擎

在将Docker与其他任何器材举办较量时,我们必要按组件对其举办分类,而且起主要谈的是容器引擎。

容器引擎是一种器材,提供了用于处理赏罚图像和容器的用户界面,因此不必担忧侵扰SECCOMP法则或SELinux计策。它的事变还包罗从长途存储库中提取图像并将其扩展到磁盘,好像也在运行容器,但它现实上的事变是建设带有图像层的容器清单和目次,然后将它们转达到容器运行时,如runc或crun。

今朝有很多可用的容器引擎,Docker最首要的竞争敌手是Red Hat开拓的Podman。与Docker差异,Podman不必要运行保卫历程,也不必要root特权,这是Docker恒久以来一向存眷的题目。

顾名思义,Podman不只可以运行容器,还可以运行pods。pod是Kubernetes的最小计较单位。它由一个或多个容器构成,执行支持使命。这使Podman用户往后可以更轻松地将其事变负载迁徙到Kubernetes。以下是如安在单个pod中运行2个容器的要领:

~ $ podman podcreate --name mypod 

        ~ $ podman podlist 

             POD ID         NAME   STATUS    CREATED         # OFCONTAINERS   INFRA ID 

        211eaecd307b   mypod  Running   2 minutes ago   1                 a901868616a5 

             ~ $ podman run -d--pod mypod nginx  # Firstcontainer 

        ~ $ podman run -d--pod mypod nginx  # Secondcontainer 

        ~ $ podman ps -a--pod 

             CONTAINERID  IMAGE                           COMMAND               CREATED        STATUS            PORTS  NAMES               POD           POD NAME 

        3b27d9eaa35c  docker.io/library/nginx:latest  nginx -g daemon o...  2 seconds ago Up 1 second ago         brave_ritchie       211eaecd307b  mypod 

        d638ac011412  docker.io/library/nginx:latest  nginx -g daemon o...  5 minutes ago Up 5 minutes ago        cool_albattani     211eaecd307b  mypod 

        a901868616a5  k8s.gcr.io/pause:3.2    

最后,Podman提供了与Docker完全沟通的CLI呼吁,只需执行alias Docker=Podman并冒充没有任何变动。

除了Docker和Podman,尚有其他的容器引擎,可是笔者以为它们都没有出路,可能都不得当当地开拓和行使。详细缘故起因如下:

LXD——LXD是用于LXC(Linux容器)的容器打点器(保卫历程)。这个器材提供了运行体系容器的手段,这些容器提供了更相同于VMs的容器情形。它位于很是狭小的空间中,用户不多,以是除非有很是详细的用例,不然最好行使Docker或Podman。

CRI-O——当搜刮什么是CRI-O时,也许会发明它被描写为容器引擎。不外,它现实上是容器运行时。另外,它也不得当“正常”行使。笔者的意思是,它是专门为Kubernetes运行时(CRI)而构建的,而不是供最终用户行使。

rkt——rkt(“火箭”)是CoreOS开拓的容器引擎。这里提到这个项目只是为了文章的完备性,由于项目竣事了,它的开拓也遏制了,以是及早别用它。

构建镜像

容器引擎中,Docker只有一个替代项,但当谈到构建镜像,我们有更多的选择。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读