我没有发现在一台主机上运行多个不同的webapp容器。例如,我有两个容器。首先,我运行一个拥有owncloud的apache,第二个我运行一个wordpress博客。他们都必须在80端口上运行。我该如何处理?一台主机上的许多码头容器
感谢
我没有发现在一台主机上运行多个不同的webapp容器。例如,我有两个容器。首先,我运行一个拥有owncloud的apache,第二个我运行一个wordpress博客。他们都必须在80端口上运行。我该如何处理?一台主机上的许多码头容器
感谢
您可以使用-p
标志进行端口映射:
docker run -p 8080:80 owncloud
docker run -p 8081:80 wordpress
而不是访问owncloud与http://yourdomain.com:8080/
和WordPress与http://yourdomain.com:8081/
这是常见的docker
与像HAProxy
反向代理相结合。 使用反向代理服务器,您可以将请求传递给owncloud.yourdomain.com
到自己的云端容器,并从wordpress.yourdomain.com
传递到wordpress容器。 (或yourdomain.com/owncloud
和yourdomain.com/wordpress
)
您必须在主机使用不同的端口(否则你会得到一个错误开始第二个容器)。 为了避免这种情况,请将80个内部端口中的一个端口暴露于主机中的另一个端口。 例如,运行“搬运工跑”时:
docker run -p 8081:80 name_of_your_image
这将导出您的服务器的80端口的端口8081的主机。
如果您想要,您可以使用docker-gen
,这是一个简单的脚本,您可以在Docker中使用简单的环境变量(在容器上)来平衡Docker。 这是文档:
https://github.com/jwilder/docker-gen
现在我使用HAproxy。它非常酷,你有很多possabilities。 –