不确定我是如何解决 pkg repos 的 Docker 网络问题的
Unsure how I resolved a Docker networking issue to pkg repos
Docker 版本 1.6.2,在 Ubuntu 15.10
上构建 7c8fca2
一个半月前,我突然注意到,当我构建一个 docker 图像时,我一直在 Ubuntu 容器和 [=15] 中出现如下错误 apt
=] 在 Fedora 容器中:
Err http://archive.ubuntu.com wily InRelease
Err http://archive.ubuntu.com wily-updates InRelease
Err http://archive.ubuntu.com wily-security InRelease
Err http://archive.ubuntu.com wily Release.gpg
Temporary failure resolving 'archive.ubuntu.com'
Err http://archive.ubuntu.com wily-updates Release.gpg
Temporary failure resolving 'archive.ubuntu.com'
Err http://archive.ubuntu.com wily-security Release.gpg
Temporary failure resolving 'archive.ubuntu.com'
Error: Failed to synchronize cache for repo 'fedora' from 'https://mirrors.fedoraproject.org/metalink?repo=fedora-22&arch=x86_64': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for https://mirrors.fedoraproject.org/metalink?repo=fedora-22&arch=x86_64 [Could not resolve host: mirrors.fedoraproject.org]
为了排除故障,我尝试启动一个 Ubuntu 14.04 的 Vagrant 实例,它从 apt
的回购中抓取包就好了。
通过简单的科学实验,这意味着我在 Docker 内部遇到了网络问题。我试过了:
sudo systemctl restart networking
sudo systemctl restart network-manager
无济于事。然后我试了:
sudo systemctl restart docker
哪个 DID 解决了这个问题,然后我构建的图像可以从 Fedora 和 Ubuntu 存储库中抓取软件包就好了。我发现我用不可知论启发法解决了一个问题并不令人满意。有人可以向我解释为什么我做了什么解决了这个问题,为什么这个问题突然开始出现,所以我可以为它设置某种自动触发器以备将来避免再次发生?
了解正在发生的事情的第一步是检查您的日志。一些有用的检查日志的命令可能是:
# View logs specific to docker
journalctl -u docker
# View logs for a specific docker container
docker logs name-of-your-container
如果您想进一步了解发生了什么,post 一些相关日志供您查看。但是,Whosebug 并不是系统问题的最佳去处。考虑 http://askubuntu.com or https://unix.stackexchange.com/
Docker 版本 1.6.2,在 Ubuntu 15.10
上构建 7c8fca2一个半月前,我突然注意到,当我构建一个 docker 图像时,我一直在 Ubuntu 容器和 [=15] 中出现如下错误 apt
=] 在 Fedora 容器中:
Err http://archive.ubuntu.com wily InRelease
Err http://archive.ubuntu.com wily-updates InRelease
Err http://archive.ubuntu.com wily-security InRelease
Err http://archive.ubuntu.com wily Release.gpg
Temporary failure resolving 'archive.ubuntu.com'
Err http://archive.ubuntu.com wily-updates Release.gpg
Temporary failure resolving 'archive.ubuntu.com'
Err http://archive.ubuntu.com wily-security Release.gpg
Temporary failure resolving 'archive.ubuntu.com'
Error: Failed to synchronize cache for repo 'fedora' from 'https://mirrors.fedoraproject.org/metalink?repo=fedora-22&arch=x86_64': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for https://mirrors.fedoraproject.org/metalink?repo=fedora-22&arch=x86_64 [Could not resolve host: mirrors.fedoraproject.org]
为了排除故障,我尝试启动一个 Ubuntu 14.04 的 Vagrant 实例,它从 apt
的回购中抓取包就好了。
通过简单的科学实验,这意味着我在 Docker 内部遇到了网络问题。我试过了:
sudo systemctl restart networking
sudo systemctl restart network-manager
无济于事。然后我试了:
sudo systemctl restart docker
哪个 DID 解决了这个问题,然后我构建的图像可以从 Fedora 和 Ubuntu 存储库中抓取软件包就好了。我发现我用不可知论启发法解决了一个问题并不令人满意。有人可以向我解释为什么我做了什么解决了这个问题,为什么这个问题突然开始出现,所以我可以为它设置某种自动触发器以备将来避免再次发生?
了解正在发生的事情的第一步是检查您的日志。一些有用的检查日志的命令可能是:
# View logs specific to docker
journalctl -u docker
# View logs for a specific docker container
docker logs name-of-your-container
如果您想进一步了解发生了什么,post 一些相关日志供您查看。但是,Whosebug 并不是系统问题的最佳去处。考虑 http://askubuntu.com or https://unix.stackexchange.com/