docker Swarm 中怎么在docker-compose使用变量
更新:HHH   时间:2023-1-7


本篇内容主要讲解“docker Swarm 中怎么在docker-compose使用变量”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker Swarm 中怎么在docker-compose使用变量”吧!

先看一个docker-comose的yml文件

version: "3.2"
services:
  docker-test:
    hostname: docker-test
    image: '${DOCKER_REGISTRY_URL}/dockerteam/docker-test:1.0'
    ports:
      - "9118"
    env_file: .env
    deploy:
      replicas: 1
      restart_policy:
        condition: on-failure
      placement:
        constraints: [node.role== worker]
      resources:
        limits:
#          cpus: '1'
          memory: 1GB
        reservations:
#          cpus: '0.2'
          memory: 512M

如上文件中,env_file在docker-comose 命令里是支持的,只需要提供对应的.env文件,在.env文件中设置${DOCKER_REGISTRY_URL}变量即可。

但是如果线上在docker swarm 集群环境中docker-comose使用env_file是无效的,那这时候怎么办?这时候不能再去使用.env文件了,我尝试了一下把变量加入到宿主机的环境变量里:

 export DOCKER_REGISTRY_URL=docker.sifu.cn:12135

再次运行docker stack命令,服务部署成功。

注意:上述的加入环境变量我只是做测试之用,如果真实情况,请在/etc/profile文件里添加对应的环境变量

到此,相信大家对“docker Swarm 中怎么在docker-compose使用变量”有了更深的了解,不妨来实际操作一番吧!这里是天达云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

返回大数据教程...