docker工人/图:端口转发到客人机器不适用于MacOS

我试图让这个无花果图像在这里运行: https : //registry.hub.docker.com/u/harbur/sonarqube/

docker和无花果装好,也正常启动两个图像(包括应用程序 – 从日志检查)。 但是,应该有一个端口转发设置,以便我可以从我的主机连接到sonarqube实例。 但是,由于主机操作系统上没有打开端口,因此无法连接到机器。

有没有人能给我提示我做错了什么?

干杯,马提亚斯

$ docker port dockersonarqube_sonarqube_1 443/tcp -> 0.0.0.0:49154 9000/tcp -> 127.0.0.1:9000 $ curl 127.0.0.1:9000 curl: (7) Failed connect to 127.0.0.1:9000; Connection refused 

这是无花果configuration文件:

 postgresql: image: orchardup/postgresql:latest environment: - POSTGRESQL_USER=sonar - POSTGRESQL_PASS=xaexohquaetiesoo - POSTGRESQL_DB=sonar volumes: - /opt/db/sonarqube/:/var/lib/postgresql sonarqube: image: harbur/sonarqube:latest links: - postgresql:db environment: - DB_USER=sonar - DB_PASS=xaexohquaetiesoo - DB_NAME=sonar ports: - "127.0.0.1:9000:9000" - "443" 

如果您在Mac上使用boot2docker ,则需要通过虚拟机访问网站。 你需要做两件事情:

  • 通过将"127.0.0.1:9000:9000"更改为"0.0.0.0:9000:9000"在所有接口上公开VM端口。
  • 使用虚拟机的IP连接到服务器,例如curl $(boot2docker ip 2> /dev/null):9000

除非你真的不喜欢使用boot2docker IP而不是0.0.0.0,否则你不需要在虚拟机内部使用端口转发。

使用OSX上的boot2docker,您需要设置端口转发。 您需要运行如下所示的内容:

 VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port9000,tcp,,9000,,9000"; 

REF: https : //github.com/boot2docker/boot2docker/blob/master/doc/WORKAROUNDS.md


你也需要在你的fig.yml文件中用0.0.0.0replace127.0.0.1

 - "0.0.0.0:9000:9000"