繁体   English   中英

使用 docker-machine 同时创建多台 Docker 机器

[英]Create multiple Docker machines at once with docker-machine

在我的应用程序中,我需要在云计算服务(现在是 AWS-EC2,但可以更改)上创建许多 Docker 机器,然后在这些机器上部署许多容器。 我正在使用docker-machine在 AWS 上配置它们,使用类似的命令

docker-machine create --driver amazonec2 --amazonec2-ssh-keypath <path-to-pem> <machine-name>

问题是创建一台这样的机器需要很多时间,大约 6 分钟。 所以总的来说,为我的部署创建机器需要几个小时。 有没有办法用docker-machine一次创建多台docker-machine 或者有什么方法可以加快机器的配置? 所有机器都有相同的配置,只是名称不同的不同 EC2 实例。

我认为在后台运行多个docker-machine create命令可能可行,但我担心它可能会破坏docker-machine的配置(机器列表、内部设置等)。 即使我可以安全地运行多个这样的命令,我也不知道如何检查它们何时以及是否成功完成。

PS:我知道 AWS 支持 Docker 容器,以这种方式创建实例可能会更快。 但是他们的计算“服务模型”不适合我的应用程序的需求。

同时运行docker-machine create命令应该很好-这取决于驱动程序,但是我使用Azure做到了。 Azure驱动程序具有一些逻辑来创建子网,可用性集等,如果已经存在,则会重新使用它们。 假设AWS做类似的事情,那么如果创建第一台机器并等待其完成 ,然后并行启动其余机器,那应该没问题

至于知道何时完成, 在Docker容器中运行Docker Machine会很酷。 这样,您可以使用docker run命令创建每台机器,并使用docker ps查看它们的运行情况。 假设您想从主机管理它们,则需要您的容器共享主机的Docker Machine状态-在主机上安装卷并将MACHINE_STORAGE_PATH设置为该卷即可。

TLDR; 这将运行docker-machine命令 9 次(异步)以创建多台机器。 根据需要调整:

for i in `seq 1 9` ; do docker-machine create --driver virtualbox worker$i & done

创建 9x 机器...

worker1
worker2
worker3
worker4
worker5
worker6
worker7
worker8
worker9

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM