是否可以为大厅构建容器配置 dns。
我知道build_args:
docker-image-resource 有一个参数,但我无法让它复制以下 docker build 参数--dns=IP_ADDRESS...
有没有人在他们的 pipeline.yml 中做过类似的事情?
是否可以为大厅构建容器配置 dns。
我知道build_args:
docker-image-resource 有一个参数,但我无法让它复制以下 docker build 参数--dns=IP_ADDRESS...
有没有人在他们的 pipeline.yml 中做过类似的事情?
由于 Docker 缺乏支持,您不太可能通过 Concourse 进行设置。
--dns=IP_ADDRESS
您引用的选项是一个docker run
参数。
该docker build
命令不允许您更改在其下运行的构建容器的 DNS 设置。
这个最近的 github 问题链接到一堆相关问题:
您可以/etc/resolv.conf
在 Dockerfile 的构建步骤中修改本地:
FROM busybox:latest
RUN set -uex; \
echo "nameserver 8.8.8.8" > /etc/resolv.conf; \
cat /etc/resolv.conf; \
ping -c 4 google.com
RUN cat /etc/resolv.conf
不过,它会在下一个运行步骤中恢复正常。
您可以为所有不覆盖 dns 的容器配置带有自定义 DNS 服务器的 Docker 守护程序。
dockerd --dns 8.8.8.8
如果您需要构建不同于运行容器的构建,则可以使用自定义 DNS 运行特定的“构建”Docker 实例。
在主机上进行编辑/etc/resolv.conf
以指向您的 DNS。这显然会影响主机上运行的所有内容。
可以运行本地缓存服务器,该服务器可以配置为将您所需的请求转发到本地 DNS 服务器,并将其他任何内容转发到您的普通 DNS 服务器(类似于 Docker 在本地为容器 DNS 所做的事情)。