ansible docker env var在容器中不可用

时间:2015-12-19 08:27:46

标签: variables docker ansible environment-variables

我正在启动一个像这样的ansible的docker容器:

name: start the new shiny container
docker:
  name: web
  image: pneuma/web
  state: started
  detach: True
  ports:
    - "80:80"
  volumes:
    - /data/db:/var/lib/postgresql
    - /data/log:/var/log/postgresql
  env:
    DEPLOYMENT_ENVIRONMENT: "{{ deployment_env }}"

但是容器内的var DEPLOYMENT_ENVIRONMENT不可用。当我尝试echo $DEPLOYMENT_ENVIRONMENT或在其他地方使用时。

有什么遗失?

1 个答案:

答案 0 :(得分:0)

在旧版2.7.9中,您可以在Docker容器中设置环境(开发,登台,生产)(仅限开发)

  - name: Build docker image
    docker_container:
      name: container_name
      image: image_name:latest
      env:
        ENV: "{{ENV}}"
      recreate: yes
      state: started
      restart: yes

执行以下命令,

$ ansible-playbook -e "ENV=staging" main.yml