"Docker load" на пользовательских изображениях создает <none> имя изображения
Когда я использую docker load
Команда создала изображение с <none>
тег.
Сейчас я покажу, как его воспроизвести.
Я создал Dockerfile:
cat > chacha <<EOF
FROM alpine:latest
ENTRYPOINT sh;
WORKDIR /home
EOF
Построить это:
docker build -t chacha -f chacha .
Экспортировал его в файл:
image_id=`docker images chacha -q`
docker save $image_id -o myimage.tar
Удалить старое изображение:
docker rmi chacha
Когда я загружаю экспортированное изображение:
docker load --input myimage.tar
Название изображения выглядит как <none>
:
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> ff35873eb8df 4 minutes ago 4.41 MB
1 ответ
Это поведение по умолчанию, когда вы сохраняете изображение, используя его идентификатор изображения. Идентификатор изображения может иметь несколько тегов.
Например, в вашем случае выполнение docker tag $image_id chacha2
создаст новый образ chacha2
с тем же идентификатором изображения, что и исходное изображение.
Таким образом, при сохранении изображения на основе его идентификатора изображения Docker-демон не знает, какие данные изображения вы хотите экспортировать, и, наконец, сохраняет изображение без каких-либо сведений о репозитории / тегах.
Что вам, возможно, нужно docker save chacha > myimage.tar
, Когда вы загружаете этот tar, импортированное изображение будет содержать информацию о хранилище / теге вашего исходного изображения.
Больше: