ПРОБЛЕМА
Поговорив с некоторыми разработчиками на # docker @ freenode, проблема была очевидна для всех: DNS и среда. Сборка отлично работает при обычном домашнем интернет-подключении.
РЕШЕНИЕ:
Эта проблема возникает в среде, где есть частный DNS-сервер, или сеть блокирует DNS-серверы Google. Даже если докер-контейнер может пинговать 8.8.8.8, сборка все равно должна иметь доступ к тому же частному DNS-серверу, который находится за вашим брандмауэром или центром обработки данных.
Запустите демон Docker с переключателем --dns, чтобы он указывал на ваш частный DNS-сервер, точно так же, как настроена ОС вашего хоста. Это было найдено методом проб и ошибок.
Подробности
Моя MAC OS X, ОС хоста, имела другой DNS, настроенный в моем /etc/resolv.conf:
mdesales@Marcello-Work ~ (mac) $ cat /etc/resolv.conf
search corp.my-private-company.net
nameserver 172.18.20.13
nameserver 172.20.100.29
Мой хост мог сбрасывать пакеты на IP-адрес Google 8.8.8.8 во время сборки ... Я просто взял эти 2 IP-адреса и поместил в конфигурацию демона докеров Ubuntu:
mdesales@ubuntu ~ $ cat /etc/default/docker
...
...
# Use DOCKER_OPTS to modify the daemon startup options.
DOCKER_OPTS="--dns 172.18.20.13 --dns 172.20.100.29 --dns 8.8.8.8"
...
Теперь сборка работает должным образом!
$ sudo ./build.sh
Sending build context to Docker daemon 7.168 kB
Sending build context to Docker daemon
Step 0 : FROM centos
---> b157b77b1a65
Step 1 : MAINTAINER [email protected]
---> Running in 49bc6e233e4c
---> 2a380810ffda
Removing intermediate container 49bc6e233e4c
Step 2 : RUN yum install -y curl; yum upgrade -y; yum update -y; yum clean all
---> Running in 5f11b65c87b8
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: mirror.supremebytes.com
* extras: centos.mirror.ndchost.com
* updates: mirrors.tummy.com
Resolving Dependencies
--> Running transaction check
---> Package systemd.x86_64 0:208-11.el7 will be updated
---> Package systemd.x86_64 0:208-11.el7_0.2 will be an update
---> Package systemd-libs.x86_64 0:208-11.el7 will be updated
---> Package systemd-libs.x86_64 0:208-11.el7_0.2 will be an update
--> Finished Dependency Resolution
Спасибо @BrianF и другим, кто помогал на канале IRC!
Постоянное решение ВМ - ОБНОВЛЕНИЕ 2 ИЮЛЯ 2015 ГОДА
Теперь у нас есть GitHub Enterprise и CoreOS Enterprise Docker Registry ... Итак, для меня было важно добавить корпоративные DNS-серверы с HOST-машины, чтобы виртуальная машина также работала.
Замена /etc/resolv.conf из гостевой ОС на /etc/resolv.conf хоста также решила проблему! Докер 1.7.0. Я только что создал новую виртуальную машину с использованием Ubuntu 15.04 на VMWare Fusion, и у меня снова возникла эта проблема ...
/etc/resolv.conf ДО
~/dev/github/public/stackedit on ⭠ master ⌚ 20:31:02
$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search localdomain
/etc/resolv.conf ПОСЛЕ *
~/dev/github/public/stackedit on ⭠ master ⌚ 20:56:09
$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
search corp.mycompany.net
nameserver 10.180.194.35
nameserver 10.180.194.36
nameserver 192.168.1.1
person
Marcello de Sales
schedule
05.08.2014