docker swarm 有在生产环境中用的企业吗

2025-05-02 04:06:08
推荐回答(1个)
回答1:

Docker Swarm 是官方发布的集群容器管理工具。它的特点是:比较轻量级,无缝支持标准的docker API。 深入浅出Swarm 一文很清晰地讲解了它的架构和命令。本文从零开始搭建并管理一个swarm集群。
准备工作
我们需要先安装 virtualBox 和 vagrant 。通过vagrant来驱动virtualBox搭建一个虚拟测试环境。首先在本地任意路径新建一个空文件夹比如 test ,运行以下命令:
virtual box host
mkdir test
cd test
vagrant init minimum/ubuntu-trusty64-docker
vi Vagrantfile

里面应该有一句 config.vm.box = "minimum/ubuntu-trusty64-docker" ,在它的下面添加如下几行代码,相当于给它分配三台虚拟机,一台叫做 manager ,它的IP是 192.168.33.17 ;另两台叫做 node1 和 node2 ,它们的IP是 192.168.33.18 和192.168.33.19 。
Vagrantfile
config.vm.define "manager" do | host |
host.vm.hostname = "manager"
host.vm.network "private_network", ip: "192.168.33.17"
end

config.vm.define "node1" do | host |
host.vm.hostname = "node1"
host.vm.network "private_network", ip: "192.168.33.18"
end

config.vm.define "node2" do | host |
host.vm.hostname = "node2"
host.vm.network "private_network", ip: "192.168.33.19"
end

这个vagrant镜像已经在ubuntu的基础上帮我们安装了docker,用起来很方便。然后分别在三个终端运行以下命令启动并连接三台虚拟机。
virtual box host terminal 1
vagrant up
vagrant ssh manager

virtual box host terminal 2
vagrant ssh node1

virtual box host terminal 3
vagrant ssh node2

搭建环境
想要让swarm管理node,首先得让docker daemon支持TCP。在三台虚拟机上运行以下命令:
manager and node1 and node2
sudo sh -c 'echo DOCKER_OPTS=\"-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock\" >> /etc/default/docker'
sudo rm /etc/docker/key.json # 免得我们用vagrant生成的docker id都一样,删掉了重启docker服务会自动生成一个新的
sudo service docker restart