Docker容器无法解析另一个容器中的服务请求

时间:2015-12-10 08:56:07

标签: networking docker

我在分离的docker容器中运行 gitlab-ce gitlab-ci-multi-runner ,但是在同一台服务器上。

Gitlab CE工作正常,我可以通过浏览器访问它,并使用http和ssh克隆项目。

但是我的跑步者无法使用域/服务器ip连接到Gitlab。它只能通过本地docker网络连接到它(例如使用ip地址172.17.0.X,或者,如果链接,使用服务别名)。

ping到域/服务器ip返回响应。

我尝试将其链接为 gitlab:example.domain.com ,但它无法正常工作,因为某种方式跑者解析了服务器IP地址而不是本地网络地址

 Checking for builds... failed: couldn't execute POST against http://example.domain.com/ci/api/v1/builds/register.json: Post http://example.domain.com/ci/api/v1/builds/register.json: dial tcp server.ip:80: i/o timeout

@Edit

搬运工-compose.yml

gitlab:
  image: gitlab/gitlab-ce:8.2.2-ce.0
  hostname: domain.name 
  privileged: true
  volumes:
    - ./gitlab-config:/etc/gitlab
    - ./gitlab-data:/var/opt/gitlab
    - ./gitlab-logs:/var/log/gitlab
  restart: always
  ports:
    - server.ip:22:22
    - server.ip:80:80
    - server.ip:443:443
runner:
  image: gitlab/gitlab-runner:alpine
  restart: always
  volumes:
   - ./runner-config:/etc/gitlab-runner
   - /var/run/docker.sock:/var/run/docker.sock

我不知道这里的问题是什么。 我很感激你的帮助。 提前致谢! :)

1 个答案:

答案 0 :(得分:0)

好像是防火墙问题。解锁 docker0 界面允许来自容器的流量:)