我使用端口80的apache,并且由于防火墙,服务器只能从端口80从外部访问。如果我运行如下命令,端口80将发生冲突。任何人都可以告诉我如何在同一端口支持两个应用程序(两个域映射到相同的IP,因此它们可能被域分开名称)?感谢。
docker run -d -p 80:8787 quay.io/hemberg-group/scrna-seq-course-rstudio
答案 0 :(得分:1)
使用-p 80:8787
运行docker将尝试侦听物理机。此外,Apache
默认会收听80
。
您不能运行多个程序员来监听相同的PORT
,但如果您只想要向公众开放到后端服务器的地图80
,则可以使用Nginx
作为您的委派服务器。然后你可以运行多个服务器。
以下是Nginx
server { # php/fastcgi
listen 80;
server_name domain1.com www.domain1.com;
access_log logs/domain1.access.log main;
root html;
location ~ \ {
server 127.0.0.1:8787;
server 127.0.0.1:8788;
server 127.0.0.1:8780;
}
}
您的容器可以按以下方式运行:
docker run -d -p 8787:8787 quay.io/hemberg-group/scrna-seq-course-rstudio
docker run -d -p 8788:8787 quay.io/hemberg-group/scrna-seq-course-rstudio
您的Apache
服务器可以使用其他PORT
进行配置,例如8780