docker生成期间名称解析失败
我遇到一个问题,在发出docker build命令时收到以下错误:-docker生成期间名称解析失败,docker,Docker,我遇到一个问题,在发出docker build命令时收到以下错误:- curl: (6) Could not resolve host: dl.yarnpkg.com gpg: no valid OpenPGP data found. 这是我的Dockerbuild文件 # Base image FROM ruby:2.5.0 RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - RUN curl -fsSL https://d
curl: (6) Could not resolve host: dl.yarnpkg.com
gpg: no valid OpenPGP data found.
这是我的Dockerbuild文件
# Base image
FROM ruby:2.5.0
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
RUN curl -fsSL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee
/etc/apt/sources.list.d/yarn.lisT
RUN apt-get update
RUN apt-get install -qq -y build-essential libpq-dev nodejs yarn
在docker外部运行时,命令成功完成
为了解决这些问题,我尝试了以下方法
FROM ruby:2.5.0
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
导致以下错误
W: Failed to fetch http://deb.debian.org/debian/dists/stretch/InRelease Temporary failure resolving 'deb.debian.org'
W: Failed to fetch http://deb.debian.org/debian/dists/stretch-updates/InRelease Temporary failure resolving 'deb.debian.org'
W: Failed to fetch http://security.debian.org/dists/stretch/updates/InRelease Temporary failure resolving 'security.debian.org'
W: Some index files failed to download. They have been ignored, or old ones used instead.
所以我知道这不仅仅是dl.yarnpkg.com主机的问题
使用无缓存选项运行docker build命令没有任何区别。我在Ubuntu 16.04中使用docker,有时我也会遇到名称解析问题
唯一成功的是在构建时添加
--network=host
。我真的不知道发生了什么,但它似乎需要这个来使用您的计算机名称解析功能。我希望它能有所帮助。有时我遇到这个问题,需要重新启动docker守护进程
我在一个虚拟机中工作,我基本上从未关闭过它,而是将它冻结,以后再工作。我还必须在主机上切换网络,这也会影响虚拟机
这似乎会不时混淆docker守护进程,需要重新启动以使其网络堆栈恢复到一致状态。如果在容器外部的docker主机上运行
nslookup dl.yarnpkg.com 8.8.8
,会发生什么?服务器:8.8.8.8地址:8.8.8.8#53非权威答案:姓名:dl.yarnpkg.com地址:104.16.60.173姓名:dl.yarnpkg.com地址:104.16.63.173姓名:dl.yarnpkg.com地址:104.16.61.173姓名:dl.yarnpkg.com地址:104.16.62.173姓名:dl.yarnpkg.com地址:104.16.59.173正如我所说,我尝试过不同的DNS提供商,我也尝试过在ubuntu dns设置中禁用dnsmasq…不走运,…你在更改daemon.json后重新加载docker引擎了吗?如果运行docker run-it--rm alpine cat/etc/resolv.conf
和docker run-it--rm alpine nslookup dl.yarnpkg.com
,会发生什么情况?#由resolvconf(8)生成的glibc解析器(3)的Dynamic resolv.conf(5)文件#不要手动编辑此文件--您的更改将被覆盖nameserver 8.8.8.8 nameserver 8.8.4.4 nameserver 192.168.0.1 nameserver 208.67.222.222搜索Home nameserver 8.8.8 nameserver 8.8.4.4我也有同样的问题,但在CentOS 8--network=host
中为我解决了它,但问题最近才出现,即使在Docker守护程序重新启动之后。每次发出Docker run命令时,您都会设置网络。这很奇怪,因为我认为它应该可以与网桥网络一起工作。