我有两个服务docker-compose.yml
:docker-gen 和 nginx。Docker-gen 链接到 nginx。为了让 docker-gen 工作,我必须传递 nginx 容器的实际名称或哈希,以便 docker-gen 可以在更改时重新启动 nginx。
当我将 docker-gen 链接到 nginx 时,docker-gen 容器中出现了一组环境变量,我最感兴趣的是NGINX_NAME
——它是 nginx 容器的名称。
因此,投入服务领域并使其发挥作用应该很$NGINX_NAME
简单command
。但是$NGINX_NAME
当我启动服务时不会扩展。查看 docker-gen 日志,我看到以下行:
2015/04/24 12:54:27 Sending container '$NGINX_NAME' signal '1'
2015/04/24 12:54:27 Error sending signal to container: No such container: $NGINX_NAME
我docker_config.yml
的如下:
nginx:
image: nginx:latest
ports:
- '80:80'
volumes:
- /tmp/nginx:/etc/nginx/conf.d
dockergen:
image: jwilder/docker-gen:latest
links:
- nginx
volumes_from:
- nginx
volumes:
- /var/run/docker.sock:/tmp/docker.sock
- ./extra:/etc/docker-gen/templates
- /etc/nginx/certs
tty: true
command: >
-watch
-only-exposed
-notify-sighup "$NGINX_NAME"
/etc/docker-gen/templates/nginx.tmpl
/etc/nginx/conf.d/default.conf
有没有办法将环境变量占位符放入命令中,以便在容器启动时扩展为实际值?