如何通过Docker中的端点创建不同的端口映射?

如何通过Docker中的端点创建不同的端口映射?,docker,containers,devops,virtualization,docker-networking,Docker,Containers,Devops,Virtualization,Docker Networking,我无法通过每个网络的不同端口将两个网络连接到容器 方案: 我必须创建容器C2和网络桥1。 C2必须通过端口80从默认网桥访问,通过端口8000从网桥1访问 我试过用80:80的速度运行C2 docker network create -d bridge --subnet 10.0.12.0/24 bridge1 docker run -itd --name C2 -p 80:80 nginx 并将C2连接至桥接器1 docker network connect docker1 C2 但是我

我无法通过每个网络的不同端口将两个网络连接到容器

方案:

我必须创建容器C2和网络桥1。 C2必须通过端口80从默认网桥访问,通过端口8000从网桥1访问

我试过用80:80的速度运行C2

docker network create -d bridge --subnet 10.0.12.0/24 bridge1
docker run -itd --name C2 -p 80:80 nginx
并将C2连接至桥接器1

docker network connect docker1 C2
但是我不能为bridge1添加端口映射8000:80

第二个想法是创建两个端口映射:

docker network create -d bridge --subnet 10.0.12.0/24 bridge1
docker run -itd --name C2 -p 80:80 -p 8000:80 nginx
docker network connect docker1 C2
但现在我无法指定哪个端口用于默认网络,哪个端口用于bridge1。 这两个都可以在两个网络上使用


我在文档中查找,但什么也没有找到。

是什么导致了这些确切的需求?在Docker网络内部,作为一个实现细节,每个容器都有自己的IP地址,因此不应该存在端口冲突,并且您不能在Docker空间中重新映射端口。此外,您可能会对以声明方式在文件中指定Docker网络映射感兴趣,并使用?非常感谢您的回答。这就是我的家庭作业,这就是为什么我有这些确切的要求。我不能使用compose,因为它必须是bash脚本(终端docker命令)