Docker pull не работает - в соединении отказано

Я запускаю следующую команду из докера в виртуальном ящике ubuntu и получаю ошибку отказа в соединении.

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

root@mbak1-VirtualBox:~# sudo proxychains docker pull busybox
ProxyChains-3.1 (http://proxychains.sf.net)
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp 54.152.209.167:443: getsockopt: connection refused

root@mbak1-VirtualBox:~# docker pull hello-world
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp 35.169.231.249:443: getsockopt: connection refused

Моя ситуация кажется такой же, как следующая:

https://github.com/moby/moby/issues/31510

Обновлять

Я попытался добавить конфигурацию прокси в следующий файл, но это не сработало. Кроме того, файл не существует: / etc / sysconfig / docker.

Я также попытался получить доступ к фактическому URL-адресу, но получаю ответ JSON, говорящий о несанкционированном доступе.

Docker pull не работает - в соединении отказано

update2

Думаю, проблема в моей конфигурации DNS. В виртуальной машине я получаю следующее для поиска:

mbak1@mbak1-VirtualBox:~$ nslookup registry-1.docker.io
Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
Name:   registry-1.docker.io
Address: 34.200.28.105
Name:   registry-1.docker.io
Address: 52.54.216.153
Name:   registry-1.docker.io
Address: 34.200.90.16
Name:   registry-1.docker.io
Address: 52.204.202.231
Name:   registry-1.docker.io
Address: 52.22.181.254
Name:   registry-1.docker.io
Address: 54.152.209.167
Name:   registry-1.docker.io
Address: 34.205.207.96
Name:   registry-1.docker.io
Address: 35.169.231.249
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
0
17 824
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ответ на мой вопрос пришел из этого сообщения здесь: https://community.ubnt.com/t5/UNMS-Beta/Connection-Refused-Failed-to-pull-docker-images/m-p/2220235/highlight/true#M3960

Публикую репост:

Мне удалось найти решение, добавив прокси для докера. Спасибо за помощь.

Создайте каталог drop-in systemd для службы докеров:

$ sudo mkdir -p /etc/systemd/system/docker.service.d

Создайте файл с именем /etc/systemd/system/docker.service.d/http-proxy.conf, который добавляет переменную среды HTTP_PROXY:

[Service]
Environment = "HTTP_PROXY=http://proxy.example.com:80/"

Или, если вы находитесь за прокси-сервером HTTPS, создайте файл с именем /etc/systemd/system/docker.service.d/https-proxy.conf, который добавляет переменную среды HTTPS_PROXY:

[Service]
Environment = "HTTPS_PROXY=https://proxy.example.com:443/"

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

[Service]
Environment = "HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"

Или, если вы находитесь за прокси-сервером HTTPS:

[Service]
Environment = "HTTPS_PROXY=https://proxy.example.com:443/" "NO_PROXY=localhost,127.0.0.1,docker registry.somecorporation.com"

Сбросить изменения:

sudo systemctl daemon-reload

Перезагрузите Docker:

sudo systemctl restart docker

Убедитесь, что конфигурация загружена:

systemctl show --property=Environment docker

Environment=HTTP_PROXY=http://proxy.example.com:80/

Или, если вы находитесь за прокси-сервером HTTPS:

systemctl show --property=Environment docker

Environment=HTTPS_PROXY=https://proxy.example.com:443/

Другие вопросы по теме