是否可以使用单个docker compose文件在多个主机中创建容器?
我必须在多个主机中创建容器。每个容器都有一个dockerfile。我发现docker compose可以用于从单个yaml文件运行多个容器。我必须在HostA中运行containerA,在HostB中运行containerB等等。。使用docker compose是否可以实现这一点?或者,使用dockerfile在不同主机中创建容器的最佳方法是什么。Docker compose正是您所需要的。它是定义和运行多容器Docker应用程序的工具。官方文档是一个很好的起点:不,单靠docker compose无法实现这一点。跨多台主机管理容器通常是调度器的工作。是一篇较老的文章,但应该给出一个介绍 Docker提供的调度器称为Swarm。这是一个开始了解如何将它们结合使用的好地方是否可以使用单个docker compose文件在多个主机中创建容器?,docker,docker-compose,dockerfile,docker-swarm,Docker,Docker Compose,Dockerfile,Docker Swarm,我必须在多个主机中创建容器。每个容器都有一个dockerfile。我发现docker compose可以用于从单个yaml文件运行多个容器。我必须在HostA中运行containerA,在HostB中运行containerB等等。。使用docker compose是否可以实现这一点?或者,使用dockerfile在不同主机中创建容器的最佳方法是什么。Docker compose正是您所需要的。它是定义和运行多容器Docker应用程序的工具。官方文档是一个很好的起点:不,单靠docker comp
答案的这一部分是有时间限制的,但在此期间,您可以参加一些免费课程来了解Swarm的更多信息。对于你来说,初级和中级操作可能很有趣。答案是否定的
- Docker compose适用于单个主机上的多个容器李>
- Docker swarm用于集群级别的容器
- 过滤器-选择了哪些主机
- 策略-对节点进行排序李>
id=$(docker run swarm create)
docker-machine create -d virtualbox --swarm --swarm-master --swarm-discovery token://$id swarm-master
docker-machine create -d virtualbox --swarm --swarm-discovery token://$id node1
docker-machine create -d virtualbox --swarm --swarm-discovery token://$id node2
docker-machine create -d virtualbox --swarm --swarm-discovery token://$id node3
docker-machine create -d virtualbox --swarm --swarm-discovery token://$id node4
发生的情况如下:
eval$(docker machine env——swarm swarm master)
来配置shell李>
从这一点开始,创建和运行容器与往常一样。
运行docker ps将显示容器运行的位置 这并不能真正回答问题。