问题描述
我在 Azure Linux 中创建了一个 sonarqube docker 容器,但是我无法访问它。 Azure Linux VM 没有公共 IP。它只有一个私有 IP 地址。
无论如何,我可以通过私有 IP 访问容器吗?
# docker run -d --name sonarqube -p 1.1.1.1:9000:9000 sonarqube:lts
25c34ffb9775a4bd7761d1de1583d4d187f6ce9be6e5db3a419afd1f05806523
HSTSCMN20356:/opt/sonarqube/elasticsearch/config # docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
25c34ffb9775 sonarqube:lts "./bin/run.sh" 6 seconds ago Up 4 seconds 1.1.1.1:9000->9000/tcp sonarqube
:/opt/sonarqube/elasticsearch/config #
解决方法
您可以从网络中的任何机器(就像同一网络上的另一个虚拟机)访问私有地址上的容器。您需要有一个公共 IP 地址才能从您的 PC 通过 Internet 访问它,或者您需要使用 VPN 将您的 PC 连接到专用网络。
确保 sonarqube 没有绑定到环回 IP (127.x.x.x)。
PS:1.1.1.1 似乎不是正确的内部 IP。您确定这是您的内部 IP 地址吗?