Как узнать базовое изображение для образа докера - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть изображение докера, и я хотел бы узнать, из какого изображения оно было создано.Конечно, есть несколько слоев, но я хотел бы узнать последнее изображение (оператор FROM в файле Docker для этого изображения)?

Я пытаюсь использовать docker image history и docker image inspect, но не могу найти там эту информацию.

Я попытался использовать следующую команду, но она выдает мне сообщение об ошибке

alias dfimage="sudo docker run -v /var/run/docker.sock:/var/run/docker.sock --rm xyz/mm:9e945ff"
dfimage febae8978318

Это сообщение об ошибке, которое я получаю

container_linux.go:235: starting container process caused "exec: \"febae8978318\": executable file not found in $PATH"
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:235: starting container process caused "exec: \"febae8978318\": executable file not found in $PATH".

1 Ответ

1 голос
/ 20 сентября 2019

Вы можете использовать метод, предложенный в этом ответе: https://stackoverflow.com/a/53841690/3691891

Сначала потяните chenzj/dfimage:

docker pull chenzj/dfimage

Получите ID вашего изображения:

docker images | grep <IMAGE_NAME> | awk '{print $3}'

Замените <IMAGE_NAME> именем вашего изображения.Используйте этот идентификатор в качестве параметра для chenzj/dfimage:

docker run -v /var/run/docker.sock:/var/run/docker.sock --rm chenzj/dfimage <IMAGE_ID>

Если вам это слишком сложно, просто потяните изображение chenzj/dfimage, а затем используйте следующий скрипт docker-get-dockerfile.sh:

#!/usr/bin/env sh

if [ "$#" -lt 1 ]
then
    printf "Image name needed\n" >&2
    exit 1
fi

image_id="$(docker images | grep "^$1 " | awk '{print $3}')"
if [ -z "$image_id" ]
then
    printf "Image not found\n" >&2
    exit 2
fi

docker run -v /var/run/docker.sock:/var/run/docker.sock --rm chenzj/dfimage "$image_id"

Вам необходимо передать имя изображения в качестве параметра.Пример использования:

$ ./docker-get-dockerfile.sh alpine
FROM alpine:latest
ADD file:fe64057fbb83dccb960efabbf1cd8777920ef279a7fa8dbca0a8801c651bdf7c in /
CMD ["/bin/sh"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...