概要
誰かが用意してくれたDockerFileやdocker-compose.ymlを利用せずに、自分で環境構築を行う際、dockerイメージやタグを調べる必要があります。ここではその調べ方を紹介します。
dockerhubで検索する
dockerイメージはdockerhubで検索します。
左上の検索ボックスでキーワードを入力して検索します。
今回は一番上のubuntuというイメージを見てみます。
TAGタブを選択すると、このイメージのタグ一覧と、それぞれの詳細情報が表示されます。
コマンドでdockerイメージを検索する
イメージ名の検索は、dockerhubで行っても良いですが、コマンドでもできます。
docker search
を使います。
$ docker search キーワード
"ubuntu"で検索してみます。
スラッシュ"/"が付いている場合、スラッシュより後ろがイメージ名です。
$ docker search ubuntu
ubuntu Ubuntu is a Debian-based Linux operating sys… 14955 [OK]
websphere-liberty WebSphere Liberty multi-architecture images … 288 [OK]
ubuntu-upstart DEPRECATED, as is Upstart (find other proces… 112 [OK]
neurodebian NeuroDebian provides neuroscience research s… 93 [OK]
ubuntu/nginx Nginx, a high-performance reverse proxy & we… 59
open-liberty Open Liberty multi-architecture images based… 54 [OK]
ubuntu-debootstrap DEPRECATED; use "ubuntu" instead 46 [OK]
ubuntu/apache2 Apache, a secure & extensible open-source HT… 41
ubuntu/mysql MySQL open source fast, stable, multi-thread… 36
ubuntu/squid Squid is a caching proxy for the Web. Long-t… 32
kasmweb/ubuntu-bionic-desktop Ubuntu productivity desktop for Kasm Workspa… 31
ubuntu/prometheus Prometheus is a systems and service monitori… 29
ubuntu/bind9 BIND 9 is a very flexible, full-featured DNS… 27
ubuntu/postgres PostgreSQL is an open source object-relation… 19
ubuntu/redis Redis, an open source key-value store. Long-… 11
ubuntu/kafka Apache Kafka, a distributed event streaming … 11
ubuntu/prometheus-alertmanager Alertmanager handles client alerts from Prom… 7
ubuntu/grafana Grafana, a feature rich metrics dashboard & … 6
ubuntu/memcached Memcached, in-memory keyvalue store for smal… 5
ubuntu/zookeeper ZooKeeper maintains configuration informatio… 5
ubuntu/telegraf Telegraf collects, processes, aggregates & w… 4
ubuntu/dotnet-deps Chiselled Ubuntu for self-contained .NET & A… 3
ubuntu/cortex Cortex provides storage for Prometheus. Long… 3
ubuntu/cassandra Cassandra, an open source NoSQL distributed … 2
ubuntu/loki Grafana Loki, a log aggregation system like … 0
コマンドでdockerイメージのタグ一覧を表示する
これは標準のコマンドではできません。
シェルスクリプトを作成したのでそれを使います。
"ubuntu"で検索してみます。
$ docker-tags ubuntu
latest
bionic-20220902
bionic
18.04
rolling
kinetic-20220830
kinetic
jammy-20220815
jammy
focal-20220826
focal
devel
bionic-20220829
22.10
22.04
20.04
・
・
・
コマンドでdockerイメージのタグ一覧を表示する(CPUアーキテクチャも表示する)
特にM1Macなどを使用されている方は、対応しているアーキテクチャも気にしなければいけません。
タグ名:アーキテクチャ名
という形式で出力できるよう、上記で使用したスクリプトを改変したもの(これも同じ記事です)を使います。
例として、"ubuntu"で検索してみます。
$ docker-tags_arch ubuntu
latest:s390x, riscv64, ppc64le, arm64, arm, amd64
bionic-20220902:s390x, ppc64le, 386, arm64, arm, amd64
bionic:s390x, ppc64le, 386, arm64, arm, amd64
18.04:s390x, ppc64le, 386, arm64, arm, amd64
rolling:s390x, riscv64, ppc64le, arm64, arm, amd64
kinetic-20220830:s390x, riscv64, ppc64le, arm64, arm, amd64
kinetic:s390x, riscv64, ppc64le, arm64, arm, amd64
jammy-20220815:s390x, riscv64, ppc64le, arm64, arm, amd64
jammy:s390x, riscv64, ppc64le, arm64, arm, amd64
focal-20220826:s390x, riscv64, ppc64le, arm64, arm, amd64
focal:s390x, riscv64, ppc64le, arm64, arm, amd64
devel:s390x, riscv64, ppc64le, arm64, arm, amd64
bionic-20220829:s390x, ppc64le, 386, arm64, arm, amd64
22.10:s390x, riscv64, ppc64le, arm64, arm, amd64
22.04:s390x, riscv64, ppc64le, arm64, arm, amd64
20.04:s390x, riscv64, ppc64le, arm64, arm, amd64
・
・
・
コマンドでdockerイメージの詳細を見る
ローカルにイメージがある場合は、docker inspect
で詳細を見ることができます。
$ docker inspect イメージ名:タグ名
$ docker inspect ubuntu:latest
[
{
"Id": "sha256:2dc39ba059dcd42ade30aae30147b5692777ba9ff0779a62ad93a74de02e3e1f",
"RepoTags": [
"ubuntu:latest"
],
"RepoDigests": [
"ubuntu@sha256:20fa2d7bb4de7723f542be5923b06c4d704370f0390e4ae9e1c833c8785644c1"
],
"Parent": "",
"Comment": "",
"Created": "2022-09-01T23:46:35.375057619Z",
"Container": "b0df58d0a952d2cb3b35163ac557fe1886c0fe5cf73a82a16491a22089aadb8c",
"ContainerConfig": {
"Hostname": "b0df58d0a952",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/bin/sh",
"-c",
"#(nop) ",
"CMD [\"bash\"]"
],
"Image": "sha256:1f88c721b49061df8bcee6398193b3642df4f089f9343e138302473c3d58fc06",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {}
},
"DockerVersion": "20.10.12",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"bash"
],
"Image": "sha256:1f88c721b49061df8bcee6398193b3642df4f089f9343e138302473c3d58fc06",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": null
},
"Architecture": "amd64",
"Os": "linux",
"Size": 77834333,
"VirtualSize": 77834333,
"GraphDriver": {
"Data": {
"MergedDir": "/var/lib/docker/overlay2/fbb30e639893aa6f1b61507455676c945027b7beeb587f68e12d1c784bac36ad/merged",
"UpperDir": "/var/lib/docker/overlay2/fbb30e639893aa6f1b61507455676c945027b7beeb587f68e12d1c784bac36ad/diff",
"WorkDir": "/var/lib/docker/overlay2/fbb30e639893aa6f1b61507455676c945027b7beeb587f68e12d1c784bac36ad/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:7f5cbd8cc787c8d628630756bcc7240e6c96b876c2882e6fc980a8b60cdfa274"
]
},
"Metadata": {
"LastTagTime": "0001-01-01T00:00:00Z"
}
}
]
ローカルにイメージがない場合は、docker pull
でイメージをローカルにダウンロードしてからdocker inspect
で詳細を見ます。
# イメージをローカルにダウンロード
$ docker pull ubuntu:latest
# 詳細を表示
$ docker inspect ubuntu:latest