小编evo*_*ise的帖子

Docker Compose 端口未暴露?

我有一个简单的基于 Python 的 Web 服务器,在使用 docker compose 设置的容器中运行,该容器公开端口 8080。

\n

当我 docker-compose up 服务时,它报告端口已公开,但端口未向外部公开。

\n

接下来我应该看什么诊断?

\n

这是一个典型的运行

\n
\xe2\x9e\x9c  demo04 sudo docker-compose up -d\nRecreating leagueweb_database ... done\nRecreating leagueweb_server   ... done\n
Run Code Online (Sandbox Code Playgroud)\n

Python Web 服务器(使用 CherryPy)报告它已正常启动并打开端口 8080。

\n
leagueweb_server | [25/Jan/2022:11:27:21] ENGINE Serving on http://127.0.0.1:8080\n
Run Code Online (Sandbox Code Playgroud)\n

Docker 报告它正在转发端口 8080

\n
\xe2\x9e\x9c  demo04 sudo docker-compose ps\n       Name                     Command                  State                              Ports\n------------------------------------------------------------------------------------------------------------------------\nleagueweb_database   /entrypoint.sh mysqld            Up (healthy)   0.0.0.0:3306->3306/tcp,:::3306->3306/tcp, 33060/tcp\nleagueweb_server     ./wait-for-it.sh database: ...   Up             0.0.0.0:8080->8080/tcp,:::8080->8080/tcp\n
Run Code Online (Sandbox Code Playgroud)\n

从远程 PC 进行测试,我可以看到虽然端口 3306 是外部开放的,但端口 8080 却没有。

\n
PS …
Run Code Online (Sandbox Code Playgroud)

python cherrypy docker docker-compose

4
推荐指数
1
解决办法
5430
查看次数

标签 统计

cherrypy ×1

docker ×1

docker-compose ×1

python ×1