如何在多台远程机器上使用docker swarm设置多主机networking
在问这个问题之前,我已经阅读了安静的文章和stackoverflow的问题,但我无法得到正确的答案我的设置(也许它已经被回答)。 这是我一直在努力使其工作的架构。
- 我有三个物理机器,我想要设置多主机networking的Docker群,以便我可以运行docker-compose。
例如:
- 机器1(Docker Swarm Manager和Contains Consoul)(192.168.5.11)
- 机器2(Docker Swarm Node)(192.168.5.12)
- 机器3(Docker Swarm Node)(192.168.5.13)
我需要从任何其他单独的机器运行docker-compose。
我已经尝试了Docker文章,但是在那篇文章中,它们都是使用docker-machine和virtual box在相同的物理机器下安装的。 我如何在三台远程机器上实现以上function。 任何帮助赞赏。
Docker的最新版本内置了Swarm模式 ,所以你不需要Consul。
要设置你的盒子,确保它们都有1.12或更高的docker version
,然后你只需要初始化群体并join它。
在机器1上运行:
docker swarm init --advertise-addr 192.168.5.11
从那里的输出将告诉你在机器2和3上运行的命令将它们join到群体中。 你将有一个独特的群集令牌,命令是这样的:
docker swarm join \ --token SWMTKN-1-49nj1... \ 192.168.5.11:2377
现在你有一个3节点群。 回到机器1上,您可以创build多主机覆盖networking:
docker network create -d overlay my-app
然后通过部署服务在networking中运行工作负载。 如果你想在Swarm模式下使用Compose,你需要使用分布式应用程序包 – 目前只在Docker的实验版本中。