Docker 如何在Ansible中使用环境变量?
我有一个docker compose项目,我想转换成Ansible 一切正常,但我想将下面的命令从docker compose转换为Ansible。 我试图传递(env,envfile命令),但它仍然不能正常工作。这是docker compose中的命令Docker 如何在Ansible中使用环境变量?,docker,docker-compose,ansible,Docker,Docker Compose,Ansible,我有一个docker compose项目,我想转换成Ansible 一切正常,但我想将下面的命令从docker compose转换为Ansible。 我试图传递(env,envfile命令),但它仍然不能正常工作。这是docker compose中的命令 Environment: - NGINX_HOST=http://nginx:80 有没有办法在Ansible剧本中选择和使用环境变量? Ansible中此命令的语法是什么 我的剧本 - hosts: all connection:
Environment:
- NGINX_HOST=http://nginx:80
有没有办法在Ansible剧本中选择和使用环境变量?
Ansible中此命令的语法是什么
我的剧本
- hosts: all
connection: local
tasks:
- name: 3
command: docker build --network host -t man /home/my/Documents/2/mysite/
- name: php
docker_container:
name: 1-php
image: php:fpm
state: started
volumes:
- ./file:/var/www/html/x.com
- name: nginx-vts-exporter
docker_container:
name: x-Exporter
image: sophos/nginx-vts-exporter:latest
state: started
ports:
- 9913:9913
- name: prom
docker_container:
name: x-prometheus
image: prom/prometheus:latest
state: started
ports:
- 9090:9090
volumes:
- ./monitor/prometheus.yml:/etc/prometheus/prometheus.yml
links:
- x-Exporter
- name: nginx
docker_container:
name: x-Nginx
image: nginx:latest
volumes:
- ./site.conf:/etc/nginx/conf.d/x.conf:ro
- ./file:/var/www/html/x.com
ports:
- 80:80
links:
- 1-php
- x-Exporter
如果使用vars中的变量。您可以使用类似于“{repo}}”的语法,环境变量的键也是env,而不是environment
- hosts: fix
remote_user: root
vars:
repo: test
tasks:
- name: prom
docker_container
env:
REPO: "{{repo}}"
HOSTIP: "{{ ansible_eth0.ipv4.address }}"
NGINX_HOST: http://nginx:80
对于目标机器的环境变量,使用
{{{{lookup('env','NGINX_HOST')}}}
。对于源代码,请参阅本文:我需要与docker一起使用它。。。我试着用答案中的语法,但没有用。我添加了我的剧本,这样你就可以明白我的意思了。。。。导出器没有到达nginx映像,我想添加环境命令,你能编辑它以便它能够到达end ecport度量吗?是的,更新,到docker_容器部分,你可以放置“env”子部分并放在那里,你的环境变量你的意思是。。。。。。。。。。。。。。。。。。。vars:NGINX\u主机:如果没有,您可以编辑您的帖子并将代码放入其中。您不能使用vars,只需放入字符串NGINX\u主机:“主机”