我是Docker的新手,我正在尝试在同一台服务器上运行多个Docker容器。
我搜索并发现我可以执行此操作Assigning vhosts to Docker ports。
不幸的是,我无法使用通配符DNS。因此,我想配置子目录以便(或者是否有其他解决方案?):
test.com/app1 - > app1(test.com:1234)
test.com/app2 - > app2(test.com:0987)
谢谢!
答案 0 :(得分:3)
最简单的方法是使用你发布的链接中提到的nginx:
upstream container-1 { server 127.0.0.1:49162; }
server {
listen 80;
server_name container-1.yourdomain.com;
location /<your subdir> {
proxy_pass http://container-1;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
答案 1 :(得分:1)
直接通过Docker无法实现。 您需要使用像nginx或haproxy这样的反向代理来执行此操作。