安装 docker :https://www.cnblogs.com/klvchen/p/8468855.html
安装 docker-compose : https://www.cnblogs.com/klvchen/p/9242774.html

环境:centos 7.4 ,docker version : 18.06.0-ce
node1: 192.168.0.238
node2: 192.168.0.239

配置 docker swarm

docker swarm 需要开放如下端口:
2377:TCP端口2377用于集群管理通信
7946:TCP和UDP端口7946用于节点之间的通信
4789:TCP和UDP端口4789用于覆盖网络流量


# 在 node1 上执行
docker swarm init --advertise-addr 192.168.0.238

# 在 node2 上执行,加入 swarm
docker swarm join --token SWMTKN-1-1rrxq7t0z6bcr2tlkv9fshg8x6dhna084f4pejbf91o0xl7kzj-71lm15lbwjxr95coahk0b19hj 192.168.0.238:2377

# 在 node1 上查看加入集群的机器
docker node ls

# 创建网络,类型是swarm overlay 网络
docker network create --driver=overlay --attachable backend

使用 docker stack

# 部署服务
docker stack deploy klvchen -c docker-compose.yml

#列出所有stack
docker stack ls

#查看服务列表
docker stack services klvchen 

#查看任务列表
docker stack ps klvchen

#删除 stack
docker stack rm klvchen

如果 docker-compose.yml 中有引用变量,例如:.env

cat .env 
MYSQL_URL=192.168.0.214:3306
MYSQL_USERNAME=klvchen
MYSQL_PASSWORD=klvchen
BOSS_PROD_DB=prod

IMAGE_NAME=klvchen:2018-07-25_17-33

#需要在部署前手动 export 到环境变量中
export $(cat .env) && docker stack deploy klvchen -c docker-compose.yml

分类:

技术点:

相关文章: