如何访问另一个Docker容器已使用的端口

时间:2019-06-11 10:56:37

标签: docker networking

我正在一个Docker容器上运行Tomcat服务器。在另一个Docker容器上,我希望能够访问该Tomcat服务器。因此,我要做的是使用-p选项将该端口映射到运行Tomcat服务器的Docker容器映射的端口。

简而言之,我有一个Tomcat容器,它是使用类似的东西运行的。

docker run ... -p X:8080 ...

还有其他这样的docker容器

docker run ... -p X:X ...

但是,如果尝试这样做,则会出现“端口已分配”错误。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

添加-p X:Y时,您正在将Y端口从容器映射到主机上的X端口,并使其在主机中可访问。

让我们假设您的tomcat容器在8080:8080上运行

现在您正在运行另一个容器

您可以通过内部IP访问第二个容器内的tomcat容器。

如果两个容器都在默认网络上。

类似172.0.0.2:8080

您可以通过此

获取分配给容器的内部IP
docker network inspect bridge

docker container inspect $id

其中id是容器ID