🎃
docker image のローカル存在確認
docker image のローカル存在確認
以下コマンドを実行すると、ローカルにある docker image のリストを取得できる。
docker image ls
特定のイメージの特定のタグがローカルに存在するか確認したいことがある。
-q
オプションを指定しつつ、docker image の tag を指定することで IMAGE ID のみを出力することができる。もし存在しない場合、何も出力されない。これを使用して指定した docker image がローカルに存在するか確認できる。
具体例
ローカルに存在するもの
$ docker image ls -q ubuntu:20.04
d13c942271d6
ローカルに存在しないもの
$ docker image ls -q ubuntu:16.04
出力が空になる。
参考
$ docker image ls ubuntu
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 22.04 6795c0065f64 2 weeks ago 78.2MB
ubuntu 20.04 d13c942271d6 6 weeks ago 72.8MB
ubuntu 18.04 5a214d77f5d7 4 months ago 63.1MB
$ docker image ls -q ubuntu
6795c0065f64
d13c942271d6
5a214d77f5d7
確認スクリプト
test.sh
#!/bin/sh
TAG=$1
DOCKER_IMAGE=$(docker image ls -q $TAG)
if [ x"$DOCKER_IMAGE" != x"" ] ; then
echo found: $TAG
else
echo Not found: $TAG
fi
結果
$ ./test.sh ubuntu:22.04
found: ubuntu:22.04
$ ./test.sh ubuntu:16.04
Not found: ubuntu:16.04
Discussion