首页 > 解决方案 > 为什么使用 docker run 与 docker ps 时 IP 和端口号会发生变化?

问题描述

我正在尝试使用以下命令从 docker 映像启动 docker 容器:

docker run -d \
    --name mycontainer \
    --network my-net \
    -p 192.168.0.19:7777:7777/tcp \
    -p 192.168.0.19:7777:7777/udp \
    -p 192.168.0.19:27015:27015/tcp \
    -p 192.168.0.19:27015:27015/udp \
    cspringer/myimage

容器启动正常,但是当我docker ps用来列出正在运行的容器时,我看到以下输出:

aa3deb723745 cspringer/mycontainer "/bin/sh -c '/ark-de…" 2 seconds ago Up 1 second 127.0.0.1:32769->7777/tcp, 127.0.0.1:32769->7777/udp, 127.0.0.1:32768->27015/tcp, 127.0.0.1:32768->27015/udp mycontainer

我目前正在使用 WSL2 和 Debian Linux 在 Windows 10 Home 机器上运行 Docker Desktop。192.168.0.19 是我的主机系统的 IP 地址。

我的问题是:

为了让事情变得更奇怪,我实际上可以毫无问题地连接到正在运行的容器中的服务。此外,我第一次创建容器时没有遇到这个问题。我昨晚创建了它,并在晚上结束前停止了容器。然后今天在使用docker start mycontainer它启动容器后这样做了。然后我删除了容器并使用前面的命令重新创建了它。从那时起,我一直无法让它正确显示。

标签: dockerdocker-desktop

解决方案


推荐阅读