Proxy Jenkins作为docker容器运行时无法访问internet

Proxy Jenkins作为docker容器运行时无法访问internet,proxy,docker,jenkins,Proxy,Docker,Jenkins,我在经营这个公司。开始时,它抱怨无法访问互联网 我是这样运行它的: 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实例正在运行。但它存在连接问题: 脱机此Jenkins实例似乎处于脱机状态 有关在没有inter

我在经营这个公司。开始时,它抱怨无法访问互联网

我是这样运行它的:

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实例正在运行。但它存在连接问题:

脱机此Jenkins实例似乎处于脱机状态

有关在没有internet的情况下安装Jenkins的信息 连接,请参阅脱机Jenkins安装文档

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

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

  • 我找不到有关这个问题的任何参考资料
  • 由于这是人们运行jenkins docker图像的通常方式,我发现这并不是开箱即用的,这令人惊讶
  • 我做错什么了吗

    编辑 为了确保docker容器确实可以直接访问internet:

    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
    
    docker run -d --net host -v jenkins-shared-volume:/var/jenkins_home -t --name jenkins jenkins
    
    编辑2 运行连接到
    主机
    网络的容器可以解决问题,并允许jenkins访问internet:

    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
    
    docker run -d --net host -v jenkins-shared-volume:/var/jenkins_home -t --name jenkins jenkins
    

    但我无法映射端口:jenkins在上可以直接访问,这可能是其他服务使用8080端口时产生冲突的原因。

    奇怪的是,我昨晚使用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:
    

    当您运行“ping 8.8.8.8”时,您正在测试internet连接,但不是DNS解析

    试试“ping www.google.com”,我想你遇到了DNS问题,这就是为什么Jenkins无法访问插件包的原因

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

    我认为你的问题也会成为热门话题,你可能会在那里找到更多的詹金斯专家。+1有着完全相同的问题-你是否有机会在一个流浪箱中测试/运行你的docker设置?(哈哈)@delavnog出于好奇-你在使用iptables吗?如果是这样,您的配置是什么样子的?我开始认为这是由我的iptables拒绝配置和docker处理iptables配置之间的冲突引起的问题。有哪位新员工承担了这个问题?