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.0
replace127.0.0.1
- "0.0.0.0:9000:9000"