假设我有一个正在运行的容器:
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
假设我发现了一个神秘的docker映像存档文件me-myapp-latest.tar.gz
。我想知道,相对于用于启动正在运行的容器的映像,该文件是否包含映像的旧版本或更新版本。
我使用docker load --input me-myapp-latest.tar.gz
将存档加载到docker中。 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
,但是它们可以不同。
如何确定图像是否相同或不相同,哪个是较新的,哪个是较旧的?
答案 0 :(得分:0)
通常,您可以检查容器的imageId是否与图像之一匹配:
docker inspect -f '{{ .Image }}' bashapp
由于您将无法删除仍在使用的图像,因此应该可以使用以下命令找到容器的图像:
docker images | grep $(docker inspect -f '{{ .Image }}' bashapp | cut -d ":" -f 2 | head -c 12)
如果您知道使用了哪个图像,则还应该能够知道该图像是否较新。