Как вытащить docker изображений внутри ограниченной сети - PullRequest
1 голос
/ 18 марта 2020

Я хочу вытащить определенное количество изображений из docker хаба. Но так как я не могу получить доступ к docker концентратору из своей организации inte rnet, как можно получить эти изображения.

Ошибка: ОШИБКА: Получить https://registry-1.docker.io/v2/: net / http: запрос отменен при ожидании соединения (Client.Timeout превышен при ожидании заголовков)

Спасибо.

Ответы [ 3 ]

2 голосов
/ 18 марта 2020

Вы можете попробовать эти шаги, во-первых, в среде с доступом rnet, например,

  • , выполнить команду docker pull openjdk и загрузить образ.
  • затем сохраните образ как tar с помощью следующей команды: docker save -o <path for generated tar file> <image name>.
  • Скопируйте этот файл tar на сервер, который не имеет доступа inte rnet, используя scp или аналогичные методы.

После копирования

  • выполните следующую команду, чтобы включить файл tar на сервер: docker load -i <generated tar name>.tar.
  • Если вы хотите добавить Отметив этот образ, вы можете запустить следующую команду: docker image tag IMAGE_ID openjdk:latest.
0 голосов
/ 18 марта 2020

Добавляя к ответу @omernaci, вы можете либо загрузить изображение в отдельном окружении, либо использовать прокси-сервер (желательно, так как он применяется к обычным ограничениям, таким как изоляция серверов от публикации c inte rnet):

Использование прокси

Если ваша ограниченная среда имеет доступ к прокси для этого вида операций управления, вы можете просто использовать его [1] :

  • HTTP_PROXY="http://proxy.example.com:80/" docker pull openjdk
  • или HTTPS_PROXY="https://proxy.example.com:443/" docker pull openjdk (при использовании прокси https)

ИЛИ настроить прокси установка на docker демон, как описано в https://docs.docker.com/config/daemon/systemd/#httphttps -proxy , и тогда вы можете просто использовать docker pull openjdk обычно

Загрузка изображения в отдельной среде

You Попробуйте эти шаги, во-первых, в среде с доступом rnet, например,

  • , запустите команду docker pull openjdk и загрузите образ.
  • , затем сохраните образ как tar с помощью следующей команды: docker save -o <path for generated tar file> <image name>.
  • Скопируйте этот файл tar на сервер, который не ave inte rnet доступ с использованием scp или аналогичных методов.

После копирования

  • выполните следующую команду, чтобы включить файл tar на сервер: docker load -i <generated tar name>.tar .
  • Если вы хотите добавить тег к этому изображению, вы можете выполнить следующую команду: docker image tag IMAGE_ID openjdk:latest.
0 голосов
/ 18 марта 2020

Лучшее решение в этом случае - обратиться к сетевым администраторам и объяснить им, почему вам нужен этот URL-адрес. :)

В качестве обходного пути:

  • Если это также не ограничено, VPN может помочь.
  • Вы можете подключиться к удаленному компьютеру вне вашей сети и использовать docker оттуда.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...