【问题标题】:Jenkins not able to access internet when running as docker containerJenkins作为docker容器运行时无法访问互联网
【发布时间】:2017-02-04 05:11:47
【问题描述】:

我正在运行jenkins docker image。启动时,它抱怨无法访问互联网。

这就是我运行它的方式:

docker pull jenkins
mkdir jenkins-shared-volume
docker run -d -p 49001:8080 -p 50000:50000 -v jenkins-shared-volume:/var/jenkins_home -t --name jenkins jenkins

jenkins 实例随后在http://localhost:49001 上运行。但它存在连接问题:

离线 此 Jenkins 实例似乎处于离线状态。

有关在没有互联网的情况下安装 Jenkins 的信息 连接,请参阅离线 Jenkins 安装文档。

您可以选择通过配置代理或跳过插件来继续 安装。

我的系统(家用笔记本电脑)中没有代理。我想这可能是一个不起眼的 docker 问题,但是:

  1. 我找不到有关此问题的任何参考资料
  2. 由于这是人们运行 jenkins docker 映像的常用方式,我发现这不是开箱即用的,这让我感到惊讶

我做错了吗?

编辑

只是为了确保 docker 容器确实可以直接访问互联网:

docker exec -it jenkins /bin/bash
jenkins@4ef4944a7cb7:/$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=44 time=29.859 ms

编辑2

运行连接到host网络的容器可以解决问题,让jenkins访问互联网:

docker run -d --net host -v jenkins-shared-volume:/var/jenkins_home -t --name jenkins jenkins

但我无法映射端口:jenkins 可以在http://localhost:8080 上直接访问,每当其他服务使用 8080 端口时,这可能是冲突的根源。

【问题讨论】:

  • 我认为您的问题也将与 SO 相关,并且您可能会在那里找到更多 Jenkins 专家。
  • +1 有同样的问题 - 您是否有机会在 Vagrant 框中测试/运行您的 docker 设置? (笑)
  • @delavnog 出于好奇 - 你在使用 iptables 吗?如果是这样,您的配置是什么样的?开始认为这是由我的 iptables 拒绝配置和 docker 对 iptables 配置的处理之间的冲突引起的问题
  • 对这个问题有什么新的看法吗?

标签: proxy docker jenkins


【解决方案1】:

奇怪的是,我昨晚在使用 Jenkins 官方图片时遇到了同样的问题:

 docker run -p 8080:8080 --rm jenkins/jenkins

虽然我还没有弄清楚原因或如何永久修复它,但我确实找到了解决方法。

使用旧的不受支持的图像 jenkins 启动图像...进行初始设置..然后将其关闭,交换图像并启动官方。

这里是我的 docker-compose.yml 供参考:

version: "2"

services:
  app:
    image: jenkins #after booting and initial setup swap to jenkins/jenkins
    ports:
      - "50000:50000"
      - "8080:8080"
    volumes:
      - home:/var/jenkins_home
volumes:
  home:

【讨论】:

    【解决方案2】:

    当您运行“ping 8.8.8.8”时,您正在测试互联网连接,而不是 DNS 解析。

    尝试“ping www.google.com”,我认为您遇到了 DNS 问题,这就是 Jenkins 无法访问插件包的原因。

    编辑 /etc/docker/daemon.json 并设置您的本地 DNS 服务器以避免 Docker 使用默认的 Google 公共 DNS。 Docker Docs - Daemon configuration file .

    【讨论】:

      猜你喜欢
      • 2016-02-20
      • 2020-10-18
      • 2018-05-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-11
      • 2021-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多