apache - 如何让 docker 和 apache 只使用一个端口?
问题描述
我有 apache 使用端口 80,并且由于防火墙,服务器只能从端口 80 从外部访问。如果我运行如下命令,端口 80 将发生冲突。谁能告诉我如何在同一个端口支持两个应用程序(两个域映射到同一个 IP,因此它们可能被域分隔姓名)?谢谢。
docker run -d -p 80:8787 quay.io/hemberg-group/scrna-seq-course-rstudio
解决方案
运行 docker -p 80:8787
将尝试监听物理机。并且默认情况下也Apache
听80
。
您不能运行多个程序员来收听相同的PORT
内容,但如果您只想将一张80
向公众开放的地图映射到后端服务器,您可以使用 aNginx
作为您的委托服务器。然后您可以运行多个服务器。
这是您的简单配置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
推荐阅读
- java - 错误“不是 JSONObject”:以字符串形式返回此格式的 API。如何使用 Java 从中读取和创建对象?
- java - 如何在没有垂直的情况下垂直缩放 Vert.x?
- ios - 如何使用代码在测试中摇动设备
- python - 基于 Python Pandas 中 DataFrame 中的特征的计算?
- python - Python - 根据文件夹的文件名模式从一个目录中的多个文件夹创建多个 zip 文件
- android - 什么是谷歌地图中的相机更新工厂
- prolog - 具有一条规则的纯 Prolog 元解释器
- git - GIT rebase 提交到顶部和底部
- c++ - 在 if 条件下检查多个变量
- c# - 如何更改此统一 2d 巡逻脚本?