У меня проблема с созданием образов Docker в моей корпоративной сети. Я только начинаю работать с Docker, поэтому у меня есть следующий Dockerfile для приложения типа hello-world:
# DOCKER-VERSION 0.3.4
FROM centos:6.4
# Enable EPEL for Node.js
RUN rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# Install Node.js and npm
RUN yum install -y npm
# Bundle app source
ADD . /src
# Install app dependencies
RUN cd /src; npm install
EXPOSE 8080
CMD ["node", "/src/index.js"]
Это прекрасно работает, когда я собираю его на своем ноутбуке дома, в собственной беспроводной сети. Он опускает необходимые зависимости и правильно создает изображение.
Тем не менее, когда я нахожусь в моей корпоративной сети на работе, эта же сборка Docker завершается неудачно при попытке снять RPM с сайта download.fedoraproject.org с таким сообщением об ошибке:
Step 2: RUNrpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm ---> Running in e0c26afe9ed5 curl: (5) Couldn't resolve proxy 'some.proxy.address' error: skipping http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm - transfer failed
В моей корпоративной сети я могу получить доступ к этому URL с моего ноутбука. Но как только Докер пытается построить контейнер, он вдруг не может его решить. Это поведение одинаково для различных внешних ресурсов (apt-get и т.д.): Все они могут прекрасно работать на моем ноутбуке в корпоративной сети, но Docker не может их разрешить.
У меня нет сетевых ноу-хау, чтобы понять, что здесь происходит. Кто-нибудь знает, почему это странное поведение будет происходить при сборке контейнеров Docker?