Как получить доступ к локально созданному образу докеров в менеджере докеров?

При попытке создать службу на docker-machine я получил ошибку изображение не существует на этом узле управления docker-machine. Когда я проверил команду docker images на узле manager, изображения там не было, как и ожидалось. Но на стороне корневого докера у меня есть эти изображения. Я хочу получить доступ к этим изображениям на узле менеджера. Я прочитал несколько статей, в которых упоминалось, что, возможно, мне нужно загрузить это изображение на концентратор докеров, а затем вытащить его из этого концентратора. Но я хочу получить к нему доступ локально. Есть ли способ сделать это, поскольку я новичок в докере.

Это команда, которую я пробовал на своем компьютере-менеджере:

docker@manager:~$ docker service create --name api-client -p 4200:4200 api_client

Это мой вывод изображений докеров:

РАЗМЕР СОЗДАННОГО ИДЕНТИФИКАТОРА ИЗОБРАЖЕНИЯ ТЕГА РЕПОЗИТОРИЯ

api_client последний 097b19c4deb8 27 часов назад 1,15 ГБ

Но на моем терминале docker@manager моя папка образа Docker пуста.


person Community    schedule 04.04.2019    source источник
comment
Вам нужно сначала поместить свое изображение в репозиторий. Репозиторий — это место, откуда каждый узел будет извлекать образ перед его выполнением. Репозиторий может быть как локальным, так и в облаке. Если вам нужен локальный репозиторий, это хорошее место для начала docs.docker.com/registry/deploying   -  person F.Madsen    schedule 04.04.2019
comment
мой образ уже создан, и это локальный репозиторий. Но я хочу получить к нему доступ на рое докеров   -  person    schedule 04.04.2019
comment
Какой репозиторий вы используете? Можете ли вы показать мне результат изображений докеров?   -  person F.Madsen    schedule 04.04.2019
comment
Отредактировано. Проверьте @F.Madsen   -  person    schedule 04.04.2019
comment
Вот что я подозревал. Изображения Docker показывают, что находится в локальном кеше Docker. Это НЕ репозиторий, поэтому вам нужно установить репозиторий локально или получить его в облаке, таком как Docker HUB. самая простая — облачная версия, и она бесплатна для одного приватного изображения и неограниченного количества общедоступных изображений. Я могу создать ответ с общими шагами, которые вам нужно пройти, если хотите?   -  person F.Madsen    schedule 04.04.2019
comment
понятно. У меня есть идея концентратора докеров, но я не знал о локальном репозитории. Вы можете создать шаги, это будет полезно   -  person    schedule 04.04.2019


Ответы (1)


Проблема в том, что нет репозитория для хранения образа. Репозиторий необходимо перетащить из репозитория в каждый узел в Swarm, прежде чем он сможет выполняться. В общем нужно сделать следующее:

  1. Настройте репозиторий. Если вам нужен локальный репозиторий, есть руководство здесь, но оно могут возникнуть проблемы с его запуском и запуском в версии с «небезопасным http». Более простой способ — получить бесплатную учетную запись docker hub и поместить туда свое изображение.

  2. Пометьте свой локальный образ именем репозитория. Howto показано в руководстве выше.

docker tag <local image> <repository>/<image:tag>

  1. Войдите в репозиторий (если в облаке) и отправьте изображение в репозиторий.

docker login

docker push <repository>/<image>:<tag>

  1. Запустить образ (ваша команда)
docker service create --name "api-client" -p 4200:4200 <repository>/<image>:<tag>

Вы также можете попытаться загрузить изображение в локальный кеш узла, используя

docker pull <repository>/<image>:<tag>

person F.Madsen    schedule 04.04.2019