Реестр Docker - это определенная часть программного обеспечения; Вы не можете напрямую docker push
изображение в другую систему.
Лучший рабочий процесс - почти наверняка написать Dockerfile
, который описывает, как создать свой образ. Это простой текстовый файл, мало чем отличающийся от сценария оболочки, который вы обычно добавляете в свой репозиторий исходного кода. Затем в другой системе вы можете проверить репозиторий и запустить docker build
и получить функционально эквивалентный образ.
Если у вас есть полуизолированная сеть, вы всегда можете запустить свой собственный реестр. Допустим, вы настроили свой локальный DNS так, что имя хоста my-registry.local
разрешается в 192.168.0.123; затем вы можете docker tag
свои локальные изображения как my-registry.local/me/imagename
, docker push
их из одной системы и docker pull
их из другой.
Путь с наименьшим обслуживанием, с минимальной воспроизводимостью, с наивысшим долгосрочным усилием - это docker save
изображение в первой системе, scp
или иная передача его во вторую систему, а потом docker load
это там. Если у вас есть мотивация, вы даже можете сделать это за один шаг
docker save me/imagename | ssh elsewhere docker load
Вы вынуждены делать это, если система «в другом месте» фактически отключена от сети, а на этапе «копировать в другую систему» необходимо скопировать файл изображения на съемный носитель. Однако, если вы делаете это вообще регулярно или у вас более одной целевой системы, вы, вероятно, сочтете целесообразным настроить локальный реестр.