Docker端口localhost:80始终处于监听状态

ccrfmcuu  于 2023-05-16  发布在  Docker
关注(0)|答案(4)|浏览(167)

我只是在研究Docker,发现似乎我们不需要运行Docker教程图像,并且端口:80总是被监听,就像下面的图片一样:

起初,我以为它是由Docker Desktop自动管理的。但事实并非如此。因为在我完全关闭Docker桌面后,它仍然在那里。我甚至运行了一个命令来检查端口80的进程,没有进程存在:

当此端口上没有进程时,它仍在运行。我快疯了。我确实遵循了docker start教程来运行这个教程Web应用程序,那时我也可以打开localhost:80。在那之后,我已经停止并删除了容器,甚至是图像,并关闭了Docker应用程序,但页面仍然存在。有没有人遇到过这种情况或有什么想法?Docker是如何做到这一点的?
一天后,我在没有运行Docker的情况下再次启动我的Mac,它仍然以一种混乱的方式存在:

km0tfn4u

km0tfn4u1#

从页面的外观来看,它正在浏览器缓存中运行。清除该高速缓存或打开隐身窗口以使用端口80上新创建的服务。

beq87vna

beq87vna2#

试着停止容器。例如:
1.列出正在运行的容器。

$ docker ps

CONTAINER ID        IMAGE                    COMMAND                  CREATED              STATUS              PORTS                NAMES
4b223e7cc8c5        docker/getting-started   "/docker-entrypoint.…"   About a minute ago   Up About a minute   0.0.0.0:80->80/tcp   wonderful_goldstine

1.使用容器ID停止docker/getting-started容器。

$ docker stop 4b223e7cc8c5

4b223e7cc8c5

1.此时,容器将已经停止并且端口80将是空闲的。如果您想重新启动它,它仍然会在您的计算机上,但您可以使用以下命令将其删除:

$ docker rm 4b223e7cc8c5

4b223e7cc8c5
zynd9foi

zynd9foi3#

我也有同样的问题,但在我的情况下,它只是浏览器中的缓存。停止docker镜像或删除后,大概会正常工作
为了阻止它。$ docker stop [CONTAINER ID]用于删除它$ docker rm [CONTAINER ID]

e5nszbig

e5nszbig4#

我你来到这里时,试图做的第一个命令在教程中,你得到了错误:

Error response from daemon: Ports are not available: listen tcp 0.0.0.0:8080: bind: address already in use.

您需要将前80更改为您的计算机不使用的其他内容80:80表示“Map主机端口”:“到此容器端口”。
所以试试看:

docker run -d -p 8081:80 docker/getting-started

相关问题