【发布时间】:2016-10-21 21:47:29
【问题描述】:
pm2 的 app.json(src/app.py 是 Flask 应用):
{
"apps": [
{
"exec_mode": "fork",
"script": "src/app.py",
"args": ["-p", "8080"]
},
{
"exec_mode": "fork",
"script": "src/app.py",
"args": ["-p", "8081"]
}
]
}
~
Dockerfile:
EXPOSE 8080 8081
CMD ["pm2", "start", "app.json"]
运行docker时出错:
docker run -p 8080:8080 -p 8080:8081 oct20
docker: Error response from daemon: driver failed programming external connectivity on endpoint high_fermi (xxxxxxxxxxx): Bind for 0.0.0.0:8080 failed: port is already allocated.
有什么想法吗?谢谢
【问题讨论】:
-
是的,你不能分配一个端口两次
-
@user2915097 如何将两个容器端口映射到一个主机端口?有可能吗?
-
您可能想看看 HAProxy 或其他一些负载平衡解决方案。
标签: python docker flask dockerfile pm2