Docker 版本 1.6.2,在 Ubuntu 15.10 上构建 7c8fca2
一个半月前,我突然注意到,当我构建一个 docker 镜像时,我一直收到如下错误,apt
在 Ubuntu 容器中和 dnf
在 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
哪个确实解决了问题,然后我构建的图像可以很好地从 Fedora 和 Ubuntu 存储库中获取包。我发现我用不可知的启发式方法解决了一个问题并不令人满意。有人可以向我解释为什么我做了什么解决了这个问题以及为什么这个问题首先突然开始发生,所以我可以为将来设置某种自动触发器并避免再次发生这种情况?
最佳答案
了解正在发生的事情的第一步是检查您的日志。一些检查日志的有用命令可能是:
# View logs specific to docker
journalctl -u docker
# View logs for a specific docker container
docker logs name-of-your-container
如果您需要进一步帮助了解发生了什么,请发布一些相关日志以供审核。但是,StackOverflow 并不是 systemd 问题的最佳场所。考虑http://askubuntu.com或 https://unix.stackexchange.com/
关于ubuntu - 不确定我如何将 Docker 网络问题解决到 pkg repos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37927941/