【发布时间】:2018-10-09 07:58:05
【问题描述】:
我想要什么:
在 Jenkins master 创建的 kubernetes pod 中动态添加主机,并允许 pod 中挂载的 docker 使用这些主机。
我正在使用 Jenkins 为 docker build 创建动态从站,并为 docker build 和 docker push 创建了 docker-in-docker slave 容器。 docker-in-docker 是通过将 VM 的 docker.sock 挂载到容器来创建的:
volumeMounts:
- name: hostpathvolume
mountPath: '/var/run/docker.sock'
我正在使用 kubernetes 的 hostAliases 将主机文件附加到一些私有 docker 注册表中:
hostAliases:
- ip: 9.110.73.11
hostnames:
- devopsprod.icp
- ip: 9.119.42.60
hostnames:
- devops.icp
我已经确认创建的 pod 在 /etc/hosts 中有这些主机,但是当我运行时:
docker login -u xxx -p xxx devops.icp:8500
我收到了一个 DNS 错误:
Error response from daemon: Get https://devops.icp:8500/v2/: dial tcp: lookup devops.icp on 0.0.0.0:00: no such host
这意味着我在容器中运行的 docker 没有使用 pod 中的 /etc/hosts 来查找 ip 地址。有没有办法解决这个问题?我不想在 VM 的 /etc/hosts 文件中手动添加主机。
【问题讨论】:
标签: docker jenkins kubernetes