LINUX.ORG.RU
решено ФорумAdmin

Docker и прокси

 , , ,


0

3

Добрый день, начал для работы изучать docker container и столкнулся с такой проблемой. Мы на работе используем прокси и на хосте (Linux debian bookworm) с настройками прокси у меня вопросов не возникало, но когда я пытаюсь собрать самый простой образ, то образ собирается с ошибкой в прокси адресе. Т.е. он у нас условно www.proxy-address.com, но образ собирается постоянно с адресом www.proxy_address.com и я абсолютно не понимаю почему. В /etc/systemd/system/docker.service.d прокси корректные прописаны, демон перезагружал, сервис тоже, вводил даже

    docker images purge
    docker system prune -a

Не помогло. Облазил кучу сайтов, ответ подходящий для себя не смог найти. Буду признателен, если кто-то подскажет ответ.

В /etc/systemd/system/docker.service.d прокси корректные прописаны

А ты туда пропиши что-нибудь другое и посмотри, подхватывается оно или нет.

rupert ★★★★★
()
Ответ на: комментарий от rupert

Самое забавное, что подхватывает. Но я так понимаю, что сам образ ос хост скачивает с репозитория используя прокси прописанный в систем.д, а вот уже когда переходит к инструкции в докерфайле

RUN apt-get update

то выводит такую ошибку

Could not resolve 'www_proxy.address.com'
sudormrf
() автор топика

ну и если рабочий интернет тратить нельзя - то есть docker save и docker load - позволяющий принести образ на флехе

Silerus ★★★★
()
Ответ на: удаленный комментарий

А что, три кавычки блок не открывают? Очень жаль.

anonymous
()
docker images purge
docker system prune -a

Прикол докера в том, что тома он таким образом не очищает. Просто для справки. Не то, чтобы это было нужно.

docker volume prune -a

Т.е. он у нас условно www.proxy-address.com, но образ собирается постоянно с адресом www.proxy_address.com и я абсолютно не понимаю почему

Вероятно сборка его и портит. Каков путь этого адреса вообще?

thegoldone ★★
()

там три разные настройки

  • при вытягивании image используется тот прокси, что использует docker (сам демон)
  • в процессе сборки (если указать явно)
  • при запуске контейнера (в переменных окружения, которые передаются контейнеру)

проверяй вторые два. в частности, прокси с опечаткой может быть задан в конфиге докера в твоем хомяке

в отдельном извращенном случае адрес прокси может быть вшит в сам image (хотя это и полный бред). на всякий проверь Dockerfile. Может там запускаются костыльные скрипты

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от sudormrf

я так, случаи разные бывают, вдруг пригодится, перенести образ например, не перекачивать же его заново

Silerus ★★★★
()
Ответ на: комментарий от thegoldone

Каков путь этого адреса вообще?

Извините, я не очень понимаю вопрос. Если вы имеете в виду, какой адрес для прокси мы используем на самом деле, то он выглядит вот так.

http://proxy-www.firma.de:82/

Сам докерфайл, который я пытаюсь запустить выглядит вот так

FROM debian
RUN apt-get update && apt-get install -y cowsay fortune

Когда, я его запускаю, то он после попытки выполнить вторую строку пишет вот что:

Failed to fetch http://deb.debian.org/debian/dists/bookworm/InRelease  Could not resolve 'www_proxy.firma.de'

т.е. сразу видно, что есть разница в прокси адресах.

sudormrf
() автор топика
Ответ на: комментарий от Silerus

Не могли бы вы подсказать, как может выглядеть эта строка. Я ради эксперимента добавил что-то такое

RUN export HTTP_PROXY="http://proxy-www.firma.de:82/" | export http_proxy="http://proxy-www.firma.de:82/"

Но это тоже не особо помогло.

sudormrf
() автор топика
Ответ на: комментарий от router

Я недавно только начал линукс осваивать и был бы признателен, если бы вы более подробно и понятно описали, что я должен сделать.

sudormrf
() автор топика
Ответ на: комментарий от sudormrf

а по айпи нельзя?

Самое забавное, что подхватывает

если другое подхватывает - укажи ему какой-то свободный хост, а на нём сделай nginx’ом proxy_pass на www.proxy-address.com

flant ★★★★
()
Ответ на: комментарий от sudormrf

он вам пишет что не может преобразовать доменное имя в адрес, в файл /etc/resolv.conf надо добавить ваш локальный днс

RUN echo 'nameserver server-ip'>>/etc/resolv.conf
Silerus ★★★★
()
Ответ на: комментарий от sudormrf

файл daemon.json - не создается по умолчанию, его надо создать в директории /etc/docker (это основное место) или ~/.config/docker (это если демо стартует от пользователя)

Silerus ★★★★
()
Ответ на: комментарий от FireFighter

Да, нашёл!!! Спасибо огромное, именно это и помогло!

sudormrf
() автор топика
Ответ на: комментарий от sudormrf

Неа. Проблемы людей, которые не умеют пользоваться гуглом, не важны :)

В общих чертах я рассказал, учить копать детали

router ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.