docker Swarm 中如何在docker-compose使用變數
阿新 • • 發佈:2019-09-10
先看一個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命令,