jenkins作为docker集装箱运行时无法访问互联网
我正在运行jenkinsdocker的形象 。 它启动时,抱怨说不能访问互联网。
这是我如何运行它:
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实例似乎处于脱机状态。
有关在没有Internet连接的情况下安装Jenkins的信息,请参阅离线Jenkins安装文档。
您可以select继续configuration代理或跳过插件安装。
我的系统中没有代理(家用笔记本电脑)。 我想这可能是一个不起眼的docker问题,但是:
- 我找不到任何这个问题的参考
- 由于这是通常的方式,人们将运行jenkinsdocker形象,我觉得这是令人惊讶的是,这不是开箱即用
难道我做错了什么?
编辑
只是为了确保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
EDIT2
运行连接到host
networking的容器解决了问题,让jenkins访问互联网:
docker run -d --net host -v jenkins-shared-volume:/var/jenkins_home -t --name jenkins jenkins
但是我不能映射端口:jenkins可以在http:// localhost:8080上直接访问,当其他服务使用8080端口时,jenkins可能是冲突的来源。
奇怪的是我昨天晚上用官方的jenkins形象碰到了同样的问题:
docker run -p 8080:8080 --rm jenkins/jenkins
虽然我还没有弄清楚为什么还是如何永久解决,我确实find了解决办法。
使用较旧的不支持的图像jenkins启动图像…执行初始设置..然后closures它,交换图像并启动官方。
这里的参考是我的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:
- gpgp密钥请求在dockerfile中失败,但不是bash
- Docker抱怨ALL_PROXY环境variables“proxy:unknown scheme:http”
- docker后面的代理不使用系统代理信息
- 为什么我无法从Vagrant VM中parsingdocker.io和其他主机
- Kibana 5.5.1后面的一个nginx 1.13代理(dockerized)
- 将代理添加到节点主机时如何获取Rancher脚本代码?
- WebPageTest代理健康检查和configuration日志
- 将docker容器连接到主机本地networking中的数据库
- 拒绝连接:Docker容器中的Nginx HTTPS反向代理