端口不是所有 docker 网络的通用端口吗?

is port not common for all the docker networks?

我创建了两个 docker 网络

  1. chnetwork

     docker network create --subnet=172.19.0.0/16 chnetwork
    
  2. 内网

     docker network  create --internal --subnet 10.1.1.0/24 internal-network
    

在创建 docker 容器时我使用 chnetwork

docker run -it -d --name containerone -h www.cone.net -v /var/www/html -p 3006:80 --net chnetwork --ip 172.19.0.40 --privileged magento

后来我改成内部网络并断开容器与chnetwork

的连接
docker network connect internal-network containerone
docker network disconnect chnetwork containerone

现在的问题是 docker ps 命令不显示该容器的端口,我的意思是 中的端口不可访问内部网络.

当我将网络更改为 chnetwork 时,只有 docker ps 显示端口。我需要做什么才能让所有 docker 网络都可以访问端口?

这似乎是内部网络的行为。由于连接到容器的唯一网络是不允许外部流量的内部网络,因此容器在设计上变得孤立。要发布端口,您需要将容器附加到非内部桥接网络。一旦将非内部桥接网络连接到容器,您就会看到已发布的端口重新出现。