首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker/图:客户机器的端口转发在MacOS上不起作用

docker/图:客户机器的端口转发在MacOS上不起作用
EN

Stack Overflow用户
提问于 2015-02-09 15:00:21
回答 2查看 1.2K关注 0票数 0

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

docker和无花果安装良好,并且两个映像正常引导(包括应用程序-从日志中检查)。但是,应该有一个端口转发设置,以便我可以从我的主机连接到sonarqube实例。但是,我无法连接到机器,因为主机操作系统上没有打开端口。

有人能告诉我我做错了什么吗?

干杯,马提亚斯

代码语言:javascript
复制
$ 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

这是图配置文件:

代码语言:javascript
复制
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"
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-09 15:32:05

如果您在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中使用端口转发。

票数 1
EN

Stack Overflow用户

发布于 2015-02-09 16:58:35

使用OSX上的boot2docker,您需要设置端口转发。您需要运行这样的操作:

代码语言:javascript
复制
VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port9000,tcp,,9000,,9000";

参考文献:https://github.com/boot2docker/boot2docker/blob/master/doc/WORKAROUNDS.md

此外,您还需要在您的127.0.0.1文件中用0.0.0.0替换fig.yml,以便

代码语言:javascript
复制
- "0.0.0.0:9000:9000"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28412704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档