Docker只监听80端口

Gui*_*ian 3 docker docker-run fastapi

我正在学习 docker,并且正在测试正在运行的容器。仅当我运行在端口 80 上侦听的容器时,它才能正常工作。

\n

例子:

\n

工作正常:

\n
docker run -d --name fastapicontainer_4 -p **8090**:80 fastapitest\ndocker run -d --name fastapicontainer_4 -p **8050**:80 fastapitest\n
Run Code Online (Sandbox Code Playgroud)\n

Don\xc2\xb4t 工作正常: :

\n
docker run -d --name fastapicontainer_4 -p **8050**:**8080** fastapitest\n
Run Code Online (Sandbox Code Playgroud)\n

当我更改程序在容器中侦听的端口并设置一个不同于 80 的端口时,该页面无法工作。有人知道是否可以使用 80 以外的端口?我该怎么做?我正在使用 fastapi。

\n

谢谢,\n吉列尔莫

\n

lar*_*sks 6

参数的语法-p<host port>:<container port>。你可以将主机端口设置为你想要的任何值,Docker 会安排它重定向到容器端口,但你不能将容器端口设置为任意值。容器中需要有一个服务侦听该端口。

因此,如果容器中有一个在端口 80 上运行的 Web 服务器,则该选项<container port>的部分-p必须始终为80,除非您更改 Web 服务器配置以侦听不同的端口。