如何将http访问路由到多个Docker容器
如何将任何域的http访问路由到他们特定的docker容器。 所以,任何请求:
-
web1.mydomain.com是docker容器与id asda912kas
-
web2.mydomain.com是用于docker容器,id:8uada0a9sd
等等
每个docker容器都运行apache,mysql和wordpress或者其他web应用程序。 web1.mydomain.com和web2.mydomain.com是使用相同的公共IP地址(如Apache的虚拟主机)
[对不起我英文很差]
如果你的web容器运行在同一台机器上,你可以使用jwilder / nginx-proxy( https://github.com/jwilder/nginx-proxy )
你用端口80映射运行它:
docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock jwilder/nginx-proxy
然后用环境variablesVIRTUAL_HOST运行你的Web容器:
docker run -d -e VIRTUAL_HOST=web1.mydomain.com image1 docker run -d -e VIRTUAL_HOST=web2.mydomain.com image2
这适用于小型部署。