上下文:
我有一个带apache2的Debian。我可以通过以下ip访问这个Debian : 192.168.12.28。
在这个Debian上,我有两个容器,其中包含以下ips:
-172.18.0.2
-172.19.0.2
有问题的:
我想从外部访问我的container1,例如: 192.168.12.28/container1或myDomain/container1
我尝试过的:
两个域:具有以下test1.domain.fr.conf的test1.domain.fr:
<VirtualHost *:80>
ServerName test1.domain.fr
ProxyPass / http://172.18.0.2:8080/
ProxyPassReverse / http://172.18.0.2:8080/
ProxyRequests Off
</VirtualHost>使用以下test2.domain.fr.conf的test2.domain.fr:
<VirtualHost *:80>
ServerName test2.domain.fr
ProxyPass / http://172.19.0.2:8080/
ProxyPassReverse / http://172.19.0.2:8080/
ProxyRequests Off
</VirtualHost>我已通过以下方式启用该域:
a2ensite test1.domain.fr
a2ensite test2.domain.fr我所拥有的:
当我想访问192.168.12.28 :Apache的页面"it works!“
当我想访问192.168.12.28/test1.domain.fr或192.168.12.28/test2.domain.fr时:在此服务器上找不到请求的URL /test1(或2).domain.fr。
当我想访问test1.domain.fr或test2.domain.fr时:找不到test1(或2).domain.fr
感谢您的帮助并为我的英语道歉!:-)
编辑:我目前正在搜索,但我现在不能让它工作!
编辑:我的container1配置为:"8081:8080“和"444:443”,我的container2配置为:"8080:8080“和"443:443”
编辑以下是我的docker合成文件:
第一个容器:
version: '2'
services:
php:
build: php
ports:
- "8080:8080"
- "443:443"
volumes:
- ./php/www:/var/www/html第二个容器:
version: '2'
services:
php:
build: php
ports:
- "8081:8080"
- "444:443"
volumes:
- ./php/www:/var/www/html发布于 2017-10-24 20:37:07
如果它是单个Docker主机(例如,不在集群模式下)您不能将两个容器映射到同一个主机端口...试试这个:
docker run <...> -p 3000:80 <...> # e.g. for test1
docker run <...> -p 5000:80 <...> # e.g. for test2并相应地调整ProxyPass和ProxyPassReverse,例如:
ProxyPass / http://172.18.0.2:3000/ # e.g. for test1
ProxyPass / http://172.19.0.2:5000/ # e.g. for test2参考(带有一个完整的例子,nginx作为apache的代理):https://www.digitalocean.com/community/questions/how-to-bind-multiple-domains-ports-80-and-443-to-docker-contained-applications
https://stackoverflow.com/questions/46907451
复制相似问题