У меня есть изображение докера, скажем, product-test:latest . Который работает во всех моих средах без каких-либо препятствий.Но когда я отправляю его в amazon-ecr его к своим экземплярам amazon ec2 и пытаюсь запустить контейнер с product-test . Он выдает ошибку, как отсутствующие zip файлы моих двоичных файлов продукта в /tmp/product-*.zip . когда я пытаюсь сравнить историю (docker history product-test:latest истории докера: последние ) обоих изображений, значит ec2 и мой локальный сервер dev . Я узнаю, что пропало много layers .

Вот фрагмент моего Dockerfile помощью которого я создаю этот образ.

MAINTAINER chintanthakar510@gmail.com

ARG binaries

COPY $binaries/.m2  /root/
ADD $binaries/product-*.zip /tmp/

Я также пытался с docker save -o product-test_latest.tar product-test:latest и на Amazon ec2 и загрузить это изображение с docker load --input /home/centos/product-test_latest.tar но все еще сталкиваюсь с теми же проблемами. В моем докере мало вещей, которые не попадают в мой экземпляр Amazon.Это действительно странная проблема, с которой я сталкиваюсь.

Amazon EC2: docker --version: 1.12.6, build ec8512b/1.12.6

ОС:CentOS Linux release 7.4.1708 (Core)

Мой локальный сервер разработки: docker --version: 1.13.1-cs2, build ad32da7

ОС:Red Hat Enterprise Linux Server release 7.2 (Maipo)

Что должно быть возможным вопросом, где я должен проверить? Это будет действительно оценено. Спасибо

1 ответ1

0

Использование команд docker save и docker load для управления образами Docker не рекомендуется. Если вы заинтересованы в безопасности и не хотите отправлять свои изображения в Docker Hub, подумайте о создании частного хранилища Docker или загрузите изображения в ECR. Созданный файл TAR сгладил и пропустил некоторые метаданные.

Лучшая практика будет:

  • Создайте личный реестр Docker или используйте ECR

  • Создайте образ Docker со своими статическими файлами и любыми пользовательскими двоичными файлами

  • Вставьте образ Docker в свой личный реестр или ECR

  • На EC2 вытащите образ из реестра Private Docker или ECR.

Таким образом вы избежите проблем с уровнем файловой системы Docker, возникающих при использовании команд docker save и docker load Docker.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .