nginx-proxy设置一个运行nginx和docker-gen的容器。docker-gen为nginx生成反向代理配置,并在容器启动和停止时重新加载nginx。
运行:
$ docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
然后启动任何要使用env var代理的容器 VIRTUAL_HOST=subdomain.youdomain.com
VIRTUAL_HOST=subdomain.youdomain.com
$ docker run -e VIRTUAL_HOST=foo.bar.com ...
被代理必须在容器暴露的端口被代理,或者通过使用EXPOSE在他们的指令Dockerfile或使用--expose标志docker run或docker create。
EXPOSE
Dockerfile
--expose
docker run
docker create
如果您的DNS设置为将foo.bar.com转发到运行nginx-proxy的主机,则请求将路由到具有VIRTUAL_HOST env var set的容器。