我有一个docker-compose,它创build一个http服务器的容器,它不会被jwilder的nginx反向代理拾取,但是它可以手工实例化。
version: '2' services: mongo: image: tutum/mongodb expose: - "27017" environment: - AUTH=no backend: build: context: "./instance" hostname: instance ports: - "1080:8080" expose: - "8080" links: - mongo frontend: build: context: "./instancegui" ports: - "80" environment: - VIRTUAL_HOST=some.host.com - LETSENCRYPT_HOST=some.host.com - [email protected]
逆向代理生成的configuration文件表示上游{… DOWN}
但是当像这样实例化时容器运行良好
docker run --name group_frontend_1 -p 80 -e "VIRTUAL_HOST=some.host.com" -e "LETSENCRYPT_HOST=some.host.com" -e "[email protected]" -d db70e6003db9
好的find了解决scheme
问题在于包含的内容不在代理容器监视的networking中,最直接的方法是将其设置为包含在网桥模式
network_mode: "bridge"
和端口80是矫枉过正的唯一需要揭露
expose: - "80"
来源:
https://github.com/jwilder/nginx-proxy/issues/552
https://github.com/docker/compose/issues/3012
为什么不使用像这样简单而简单的nginx图像。 Docker已经为你做了DNS。