Я пытаюсь создать контейнер Docker, в котором мне нужно использовать команду apt-get install. В настоящее время это выглядит так:
FROM ubuntu:18.04
RUN apt-get update && apt-get install -y \
build-essential \
cmake
К сожалению, когда я пытаюсь его собрать, я получаю некоторые ошибки, связанные с прокси. Я работаю за корпоративным прокси и хочу, чтобы мой контейнер хорошо работал в таких условиях.
Я немного почитал в Интернете и устал от нескольких вариантов:
Вариант 1
FROM ubuntu:18.04
ENV http_proxy <HTTP_PROXY>
ENV https_proxy <HTTPS_PROXY>
RUN apt-get update && apt-get upgrade
https://stackoverflow.com/a/22184601
Вариант 2
FROM ubuntu:18.04
ENV http_proxy 'http://corporate_proxy:port'
ENV https_proxy 'http://corporate_proxy:port'
https://stackoverflow.com/a/30252882
Вариант 3
docker build --build-arg http_proxy=$http_proxy
--build-arg https_proxy=$https_proxy -t mytest_docker .
На основе https://elegantinfrastructure.com/docker/ultimate-guide-to-docker-http-proxy-configuration/
Однако ни один из этих параметров не работает, и я получаю всегда одну и ту же ошибку:
Err:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Temporary failure resolving 'corporate_proxy'
Err:2 http://security.ubuntu.com/ubuntu bionic-security InRelease
Temporary failure resolving 'corporate_proxy'
Err:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Temporary failure resolving 'corporate_proxy'
Err:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
Temporary failure resolving 'corporate_proxy'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic/InRelease Temporary failure resolving 'corporate_proxy'
corporate_proxy - это просто заполнитель для фактического (рабочего) прокси.
Я уверен, что адрес прокси-сервера правильный и работает на хост-системе, потому что я обычно могу загрузить все. Проблема только в этом образе докера.
Любое предложение, как я могу решить это?
РЕДАКТИРОВАТЬ # 1
Основываясь на ответе @Raoslaw Szamszur, я немного больше отлаживал. К сожалению, результаты все те же.
Я добавил значения в файл config.json и перезапустил демон. Затем я попробовал еще раз сделать все мои варианты с тем же результатом.
Также я хотел запустить только докер Ubuntu, используя следующую строку:
docker run --name ubunut -it -p <port_http>:<port_http> -p <port_https>:<port_https> ubuntu:18.04
После запуска apt-get не может загрузить что-либо, печатающее ту же ошибку, что и ранее.
Также, как этот контейнер выглядел в списке
docker container ls --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e6fdeaec3ad9 ubuntu:18.04 "/bin/bash" 3 minutes ago Up 3 minutes 0.0.0.0:<http_port>-<https_port>-><http_port>-<https_port>/tcp ubunut