Docker 不允許兩個容器共享同一個端口,因為在同一臺主機中,每個端口只能被一個容器綁定。如果兩個容器需要使用同一個端口,可以將其中一個容器映射到另一個容器的端口上,或者使用 Docker 的網絡模式來實現容器之間的通信。
下面是兩種實現方法:
docker run -d -p 8081:8080 containerA
docker run -d -p 8080:8080 containerB
docker network create mynetwork
docker run -d --name containerA --network mynetwork containerA
docker run -d --name containerB --network mynetwork containerB
這樣容器 A 和容器 B 就可以通過容器名稱來相互通信,而不需要共享同一個端口。