有超过2个容器时,不能访问docker容器

在Windows 10下,我有一个docker容器app ,它的内部是java FROM openjdk:8 server FROM openjdk:8 。 Java服务器在端口8080上启动,容器在Dockerfile中公开这个端口。

当我运行这个容器的两个实例并将它们绑定到主机上的不同端口时,我可以通过具有不同端口的相同IP(VirtualBox Host-Only Network)访问它们。 当我运行第三个实例 – 所有的实例变得无法访问这个IP,但容器和应用程序仍在运行。 当我最近停下来开始第三个容器时 – 前两个容器可以在一段时间内再次通过IP访问。

我尝试将这些容器连接到不同的networking(桥和新创build的),但这并没有帮助。

用命令启动容器:

docker run --rm --name first_instance -v repo:/volume -it -p 8080:8080 app

docker run --rm --name second_instance --volumes-from first_instance -it -p 8081:8080 app

docker run --rm --name third_instance --volumes-from first_instance -it -p 8082:8080 app

Dockerfile是:(Docker版本:17.03.1-ce)

 FROM openjdk:8 # Set the working directory to /app WORKDIR /app ADD root/deployment/. /root/deployment ADD root/installation/. /root/installation ADD scripts /app # Make port 8080 available to the world outside this container EXPOSE 8080 # Define environment variable ENV INSTALLED_DIR="/root/installation/" ENV DEPLOYED_DIR="/root/deployment/" ENV JAVA_HOME="${INSTALLED_DIR}/java" ENV INSTALLED_JARS_DIR="${INSTALLED_DIR}/lib" ENV DEPLOYED_JARS_DIR="${DEPLOYED_DIR}/webapps/bin/WEB-INF/lib" ENV DEPLOYED_CLASSES_DIR="${DEPLOYED_DIR}/webapps/bin/WEB-INF/classes" CMD $JAVA_HOME/bin/java -cp "$INSTALLED_JARS_DIR/*:$DEPLOYED_JARS_DIR/*:$DEPLOYED_CLASSES_DIR/*" \ -DAdminPassword=xxxxxxx -Dlog4j.configuration=log4j.properties \ org.flycaw.platform.Runner setup.properties setup-create-new.properties \ && /root/deployment/wrapper/APP start \ && /bin/bash 

我想知道为什么我不能运行超过2个应用程序的实例,并能够通过IP:PORT组合来访问它们。