docker/fig:端口转发到来宾计算机在 MacOS 上不起作用

docker/fig: port forwarding to guest machine does not work on MacOS

我正在尝试在此处获取这张无花果图像 运行:https://registry.hub.docker.com/u/harbur/sonarqube/

docker 和 fig 安装正常,两个图像也正常启动(包括应用程序 - 从日志中检查)。 但是,应该有一个端口转发设置,以便我可以从我的主机连接到声纳实例。但是,我无法连接到机器,因为主机 OS 上没有打开任何端口。

有没有人可以提示我做错了什么?

干杯, 马蒂亚斯

$ 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

这是无花果配置文件:

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,则需要通过 VM 访问该网站。您需要做两件事:

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

除非您真的不喜欢使用 boot2docker IP 而不是 0.0.0.0,否则您不需要在 VM 内处理端口转发。

在 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 文件中将 127.0.0.1 替换为 0.0.0.0 以便

- "0.0.0.0:9000:9000"