Как узнать, какую версию образа использует контейнер? - PullRequest
0 голосов
/ 28 января 2019

Предположим, у меня есть один работающий контейнер:

CONTAINER ID   IMAGE            COMMAND   CREATED       STATUS       PORTS                  NAMES
59f00e5c96d6   me/myapp:latest  "bash"    9 hours ago   Up 7 hours   127.0.0.1:80->80/tcp   bashapp

Предположим, я обнаружил загадочный файл архива образа докера me-myapp-latest.tar.gz из ниоткуда.Я хочу знать, относительно изображения, используемого для запуска работающего контейнера, содержит ли этот файл более старую или более новую версию изображения.

Я загружаю архив в докер, используя docker load --input me-myapp-latest.tar.gz.docker images теперь показывает:

REPOSITORY   TAG      IMAGE ID        CREATED           SIZE
me/myapp     latest   fe22fc800843    12 hours ago      123MB

Это не указывает на то, является ли me/myapp:latest, показанный docker images, таким же, как показанный docker ps -a.Они оба названы me/myapp:latest, но могут отличаться.

Как определить, являются ли изображения одинаковыми или нет, какой из них более новый, а какой старше?

1 Ответ

0 голосов
/ 28 января 2019

В общем, вы можете проверить, совпадает ли imageId вашего контейнера с вашим изображением:

docker inspect -f '{{ .Image }}' bashapp

Поскольку вы не сможете удалить изображение, которое все еще используется, вы должныМожно найти изображение вашего контейнера с помощью следующей команды:

docker images | grep $(docker inspect -f '{{ .Image }}' bashapp | cut -d ":" -f 2 | head -c 12)

Если вы знаете, какое изображение используется, вы также сможете определить, является ли изображение более новым или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...