Docker Swarm部署服务

  1. 1. 概述
  2. 2. 配置文件修改

Docker Swarm部署服务

1. 概述

Docker Swarm使用docker stack部署服务, 配置文件使用的是docker compose的配置文件,但是又不能完全使用compose文件。

2. 配置文件修改

  • 环境变量的处理
    因为docker stack不支持环境变量文件.env,所以需要先将compose.yml转换为完全体文件
docker-compose -f docker-compose.yml -p test config

复制输出内容到新的文件中。

  • 修改网络类型
networks:
  iotx-network:
    driver: overlay # 网络类型需要是overlay
  • 服务间依赖的处理
    去掉所有的depends_on

  • 本地挂在的处理
    由于docker swarm是分布式集群,所以不能进行本地数据挂载。
    当使用docker volume时,docker stack能正常运行,但是服务数据只会存储在指定的node上,当服务迁移,数据会变为其他node上的数据。
    简而言之,node间数据是不共享的。

使用NFS进行数据共享

volumes:
  redis-data:
    driver: local
    driver_opts:
      type: nfs
      o: nfsvers=4,addr=192.168.1.118,rw
      device: ":/home/storage/redis-data"

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 wind.kaisa@gmail.com

💰

×

Help us with donation