详解使用docker 1.12 搭建多主机docker swarm集群

2020-06-17 06:49:10易采站长站整理

swarm是docker公司自己的容器集群管理工具,本文介绍了使用docker 1.12 搭建多主机docker swarm集群,分享给大家

准备

准备至少两台的centos 7 主机(全新最小安装, 可以使用虚拟机安装)
开放端口2377 tcp端口, 7946 4789 tcp udp 端口
本文使用192.168.99.101(hostname:centos-node4) 作为swarm manager
192.168.99.102(hostname:centos-node5) 作为swarm agent1

安装docker engine 1.12
在每台机器上执行以下命令


# sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

# sudo yum install docker-engine
# sudo systemctl enable docker
# sudo systemctl start docker

安装完后查看Docker 版本


[root@centos-node4 ~]# docker version
Client:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built:
OS/Arch: linux/amd64

Server:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built:
OS/Arch: linux/amd64

开放端口相关命令


firewall-cmd --zone=public --add-port=2377/tcp --permanent
firewall-cmd --zone=public --add-port=7946/tcp --permanent
firewall-cmd --zone=public --add-port=7946/udp --permanent
firewall-cmd --zone=public --add-port=4789/tcp --permanent
firewall-cmd --zone=public --add-port=4789/udp --permanent
firewall-cmd --reload

新版docker swarm 命令详情

有关集群的docker命令如下:

docker swarm:集群管理,子命令有init, join,join-token, leave, update
docker node:节点管理,子命令有demote, inspect,ls, promote, rm, ps, update
docker service:服务管理,子命令有create, inspect, ps, ls ,rm , scale, update
docker stack/deploy:试验特性,用于多应用部署

创建swarm 集群

查看docker swarm 命令说明


[root@centos-node4 ~]# docker swarm -h
Flag shorthand -h has been deprecated, please use --help

Usage: docker swarm COMMAND

Manage Docker Swarm

Options:
--help Print usage

Commands:
init Initialize a swarm
join Join a swarm as a node and/or manager
join-token Manage join tokens
update Update the swarm
leave Leave a swarm

Run 'docker swarm COMMAND --help' for more information on a command.

在swarm manager(centos-node4:192.168.99.101)初始化swarm集群

--listen-addr