Docker如何将子目录映射到端口

时间:2014-10-19 03:42:32

标签: docker

我是Docker的新手,我正在尝试在同一台服务器上运行多个Docker容器。

我搜索并发现我可以执行此操作Assigning vhosts to Docker ports

不幸的是,我无法使用通配符DNS。因此,我想配置子目录以便(或者是否有其他解决方案?):

test.com/app1 - > app1(test.com:1234)

test.com/app2 - > app2(test.com:0987)

谢谢!

2 个答案:

答案 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这样的反向代理来执行此操作。