Изображения Building Docker работают на рабочем столе без проблем. Установка зависимостей NPM Node.js работает как обычно. Однако при использовании сервера непрерывной интеграции, такого как Jenkins, который размещен за корпоративным прокси-сервером, сборка Docker Images выходит из строя.
Node.js Зависимости NPM
При построении Node.js pacakges команда npm install терпит неудачу, если она не может подключиться к GIT при клонировании зависимостей GIT.
e1ce5e8407d1: Already exists
Status: Image is up to date for node:0.10.33
---> e1ce5e8407d1
Step 1 : RUN mkdir -p /usr/src/app
---> Using cache
---> 965cad0c68b0
Step 2 : WORKDIR /usr/src/app
---> Using cache
---> 4c498f0c07e9
Step 3 : COPY package.json /usr/src/app/
---> b0662a8275fb
Removing intermediate container 5aca20551452
Step 4 : RUN npm install
---> Running in 7ccf9e5362af
npm WARN package.json [email protected] No README data
npm WARN package.json Dependency 'async-cache' exists in both dependencies and devDependencies, using '[email protected]^0.1.5' from dependencies
npm ERR! git clone https://github.com/npm/npm2es.git Cloning into bare repository '/root/.npm/_git-remotes/https-github-com-npm-npm2es-git-60a75edb'...
npm ERR! git clone https://github.com/npm/npm2es.git fatal: unable to access 'https://github.com/npm/npm2es.git/': Failed to connect to github.com port 443: Connection timed out
Java Maven, Ruby, Go Docker Изображения с зависимостями
То же самое происходит при создании контейнеров Java, Ruby или Go, где зависимости находятся на серверах репозитория на вашем корпоративном прокси-сервере.
Зная, что вы можете настроить Docker с переменной среды HTTP_PROXY, как правильно настроить Docker для правильной сборки изображений в средах CI?