Swarm-快速上手Docker (swarm中文翻译)

教程大全 2025-07-13 01:24:58 浏览

Docker Swarm 是 Docker 官方三剑客项目之一,提供 Docker 容器集群服务,是 Docker 官方对容器云生态进行支持的核心方案。使用它,用户可以将多个 Docker 主机封装为单个大型的虚拟 Docker 主机,快速打造一套容器云平台。

用这样一条简单的命令:

$dockerswarminit

就足够创建一个 Swarm 了(虽然是一个只有简易管理节点的 Swarm,但已经是 Swarm 集群的最简集合)。

$dockernodelsIDHOSTNAMEMEMBERSHIPSTATUSAVAILABILITYMANAGERSTATUS7sytb3zk0yswdfky6mbh7nzk2*mobyAcceptedReadyActiveLeader

来看看多节点吧!只有一个节点的 Swarm,用途是有限的,所以让我们来创建一个有两个管理节点(manager nodes)和两个工作节点(worker nodes)的 Swarm。 首先,我们来创建 4 个 Docker 主机。Docker Machine 是完成此任务的理想工具,所以我们就用它。

$docker-machinelsNAMEACTIVEDRIVERSTATEURLSWARMDOCKERERRORSmanager1-virtualboxRunningtcp://192.168.99.100:2376v1.12.0-rc3manager2-virtualboxRunningtcp://192.168.99.101:2376v1.12.0-rc3worker1-virtualboxRunningtcp://192.168.99.102:2376v1.12.0-rc3worker2-virtualboxRunningtcp://192.168.99.103:2376v1.12.0-rc3

如果你手头上没有别的用 Machine 创建的主机,那么在显示集群节点时,你的显示信息就需要与下文给出的范例比较接近。

$docker-machinelsNAMEACTIVEDRIVERSTATEURLSWARMDOCKERERRORSmanager1-virtualboxRunningtcp://192.168.99.100:2376v1.12.0-rc3manager2-virtualboxRunningtcp://192.168.99.101:2376v1.12.0-rc3worker1-virtualboxRunningtcp://192.168.99.102:2376v1.12.0-rc3worker2-virtualboxRunningtcp://192.168.99.103:2376v1.12.0-rc3

上文介绍了一种用 1.12 版引擎来创建 Swarm 的最简单的命令(提示:“docker swarm init”),但我们在这里还将调用几种附加选项,让集群主机可以互相通信,并在无需许可的情况下加入集群。

$MANAGER1_IP=$(docker-machineipmanager1)$docker-machinesshmanager1dockerswarminit--auto-acceptmanager--auto-acceptworker--listen-addr:2377

注意: –listen-addr 是 Swarm 内不同节点互相访问的地址

添加第二管理节点

Docker Swarm 命令中还需要添加一些选项:

* JOIN:表明一个新的节点将被添加进 Swarm

* –manager:表明节点的性质(manager vs worker)

* –listen-addr:让一个新添加的节点可以访问 Swarm 内的其他节点

* 最后的参数就是第一管理节点的地址(即这一命令将被送到的那个节点)

***注意:* 由于 –auto-accept manager 选项会在 Swarm 初始化的过程中被提供,所以第二管理节点会被自动接受。如果没有这一选项,那么第二管理节点需要被第一管理节点手动接受。

$MANAGER2_IP=$(docker-machineipmanager2)docker-machinesshmanager2dockerswarmjoin--manager--listen-addr:2377:2377

Swarm 添加工作节点

往集群内添加工作节点的方式,跟添加管理节点几乎相同:

$WORKER1_IP=$(docker-machineipworker1)$docker-machinesshworker1dockerswarmjoin--listen-addr:2377:2377$WORKER2_IP=$(docker-machineipworker2)$docker-machinesshworker2dockerswarmjoin--listen-addr:2377:2377

***注意:* 由于 –auto-accept worker 选项会在 Swarm 初始化的过程中被提供,所以工作节点会被自动接受。如果没有这一选项,那么工作节点需要被管理节点手动接受。

我们的 Swarm 看起来像什么呢?让我们来看看。

$docker-machinesshmanager1dockernodelsIDHOSTNAMEMEMBERSHIPSTATUSAVAILABILITYMANAGERSTATUS109a5ufy8e3ey17unqa16wbj7manager2AcceptedReadyActiveReachable4chbn8uphm1tidr93s64zknbq*manager1AcceptedReadyActiveLeader8nw7g1q0ehwq1jrvid1axtg5nworker2AcceptedReadyActive8rrdjg4uf9jcj0ma2uy8rkw5vworker1AcceptedReadyActive

现在每个节点都归属于 Swarm,并都处在了待机状态。管理节点 1 是领导者,一切都各居其位,井井有条,是什么使它如此特别呢? 这个 Swarm 是得到安全传输层协议(TLS)保证的,能在设备外自动认证升级。

同样,它也不再需要 Consul、Zookeeper 之类的键值存储,所有东西都在掌控之中。


如何在Windows 7上运行Docker

步骤一:安装客户端时不要直接双击运行,请在安装文件上右键菜单,选择“以管理员身份运行”按照提示安装完毕后不要立即重启操作系统,而是选择“稍后重新启动计算机”步骤二:进入iNode安装目录(32位系统缺省在C:\Program Files\H3C\iNode Client,64位系统缺省在C:\Program Files (x86)\H3C\iNode Client),找到文件,右键菜单选择属性。 在文件的属性窗口中选择兼容性选项卡,点击“更改所有用户的设置”。 打开“所有用户的兼容性”窗口,在勾选“以兼容模式运行这个程序”,并选择“Windows Vista”或者“Windows XP (Service Pack 3)”。 然后勾选“以管理员身份运行该程序”。 确定后,文件属性窗口中兼容性选项卡会变成如下所示,并且不可再被设置。 确定后,完成的设置。 步骤三:使用步骤二中的方法对iNode 进行同样的设置。 步骤四:重启操作系统即可正常使用认证客户端。

如何使用Dockerfile构建镜像

docker越来越炙手可热,如果你的团队已经准备开始使用docker,那么私有仓库是必不可少的东西,首先是可以帮助你加快从服务器pull镜像的速度,其次也可以帮助你存放私有的镜像,本文主要为大家介绍如何从公用服务器上讲开放的images备份到本地私有服务器上。dockerimages往往不知不觉就占满了硬盘空间,为了清理冗余的image,可采用以下方法:1.进入root权限sudosu2.停止所有的container,这样才能够删除其中的images:dockerstop$(dockerps-a-q)如果想要删除所有container的话再加一个指令:dockerrm$(dockerps-a-q)3.查看当前有些什么imagesdockerimages4.删除images,通过image的id来指定删除谁dockerrmi想要删除untaggedimages,也就是那些id为的image的话可以用dockerrmi$(dockerimagesgrep^awk{print$3})要删除全部image的话dockerrmi$(dockerimages-q)本篇文章来源于Linux公社网站()原文链接:/Linux/2014-09/

Docker中可以运行其他非linux系统吗

1.启动一个Docker容器 [root@localhost ~]# docker run -i -t Ubuntu /bin/bash Unable to find image ‘ubuntu’ locally Pulling repository ubuntu 04c5d3b7b065: Download complete ea3c5a: Download complete c7b7c: Download complete 70c8faa62a44: Download complete dad9c1: Download complete Status: Downloaded newer image for ubuntu:latest 注: -i:打开容器中的STDIN -t:为容器分配一个伪tty终端 从上面我们可以看出,首先Docker会检查本地是否存在ubuntu镜像,如果在本地没有找到该镜像的话,那么Docker就会去官方的Docker Hub Registry查看Docker Hub中是否有该镜像。 Docker一旦找到该镜像,就会下载该镜像并将其保存到本地的宿主机中。 然后,Docker在文件系统内部用这个镜像创建了一个新的容器。 该容器拥有自己的网络、IP地址,以及一个用来可以和宿主机进行通信的桥接网络接口。 最后,我们告诉Docker在新容器中要运行什么命令。 当容器创建完毕之后,Docker就会执行容器中的/bin/bash命令。 这时间我们就可以看到容器内的shell root@8c342c0c275c:/# 注:8c342c0c275c代表容器的ID

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐