Dockerのコンテナイメージ管理について
イメージの表示・削除
Dockerでは、レポジトリからイメージを取得し、コンテナを作成します。 レポジトリは"DockerHub"と呼ばれる公開レポジトリか、自分達や他の人が作成したレポジトリを登録して使うことができます。
イメージの確認
現在ローカル環境に存在するイメージはimagesコマンドで確認できます。 初期状態では以下のようにカラです。
# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
pullコマンドなどでイメージを取得すると以下のように表示されます。
# docker images docker.io/centos 7 eeb3a076a0be 3 days ago 196.7 MB docker.io/centos 6 6e93f19d1d37 4 weeks ago 228.9 MB
中間イメージを含む全てのイメージを表示する場合は、オプション-aを追加します。
# docker images -a REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE my mysql 8bc5f1b22b61 4 hours ago 869.8 MB <none> <none> 9f33a7d38eb3 4 hours ago 869.8 MB <none> <none> c3018c94d23d 4 hours ago 869.8 MB <none> <none> 57c415290d83 4 hours ago 869.8 MB
イメージの削除
イメージを削除する場合は、rmiコマンドで、削除するイメージのID、又は[レポジトリ:タグ]を指定します。
# docker rmi 8bc5f1b22b61または
# docker rmi my:mysql
イメージの検索、取得
searchコマンドで必要なイメージを検索します。 CentOSを検索する場合、以下を実行します。
# docker search centosレポジトリを手動で登録していない場合は、Docker Hubと呼ばれる公開レジストリから検索結果を取得して、以下のような結果を表示します。
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/centos The official build of CentOS. 2048 [OK] docker.io docker.io/jdeathe/centos-ssh CentOS-6 6.7 x86_64 / CentOS-7 7.2.1511 x8... 18 [OK] docker.io docker.io/jdeathe/centos-ssh-apache-php CentOS-6 6.7 x86_64 / Apache / PHP / PHP M... 14 [OK] docker.io docker.io/million12/centos-supervisor Base CentOS-7 with supervisord launcher, h... 10 [OK] docker.io docker.io/blalor/centos Bare-bones base CentOS 6.5 image 8 [OK] docker.io docker.io/nimmis/java-centos This is docker images of CentOS 7 with dif... 8 [OK] docker.io docker.io/torusware/speedus-centos Always updated official CentOS docker imag... 7 [OK] docker.io docker.io/centos/mariadb55-centos7 3 [OK] docker.io docker.io/nathonfowlie/centos-jre Latest CentOS image with the JRE pre-insta... 3 [OK] docker.io docker.io/nickistre/centos-lamp LAMP on centos setup 3 [OK] docker.io docker.io/consol/sakuli-centos-xfce Sakuli end-2-end testing and monitoring co... 2 [OK] docker.io docker.io/darksheer/centos Base Centos Image -- Updated hourly 1 [OK] docker.io docker.io/layerworx/centos CentOS container with etcd, etcdctl, confd... 1 [OK] docker.io docker.io/lighthopper/orientdb-centos A Dockerfile for creating an OrientDB imag... 1 [OK] docker.io docker.io/pacur/centos-6 Pacur CentOS 6 1 [OK] docker.io docker.io/pacur/centos-7 Pacur CentOS 7 1 [OK] docker.io docker.io/softvisio/centos Centos 1 [OK] docker.io docker.io/timhughes/centos Centos with systemd installed and running 1 [OK] docker.io docker.io/yajo/centos-epel CentOS with EPEL and fully updated 1 [OK] docker.io docker.io/blacklabelops/centos CentOS Base Image! Built and Updates Daily! 0 [OK] docker.io docker.io/grayzone/centos auto build for centos. 0 [OK] docker.io docker.io/januswel/centos yum update-ed CentOS image 0 [OK] docker.io docker.io/jsmigel/centos-epel Docker base image of CentOS w/ EPEL installed 0 [OK] docker.io docker.io/lighthopper/openjdk-centos A Dockerfile for creating an OpenJDK image... 0 [OK] docker.io docker.io/ustclug/centos USTC centos 0 [OK]
CentOSの場合は、検索結果の1番目に表示されるdocker.io/centosというオフィシャルビルドがありますので、それを使用します。
CentOS 7のイメージ取得
CentOS 7 のオフィシャルビルドイメージを取得する場合は、以下を実行します。
# docker pull centos:7すると、以下のようなります。
Trying to pull repository docker.io/library/centos ... 7: Pulling from library/centos 47d44cb6f252: Pull complete 6fdebd7b0eb5: Pull complete a63aae4d216f: Pull complete bb3d629a7cbc: Pull complete Digest: sha256:3cdc0670fe9130ab3741b126cfac6d7720492dd2c1c8ae033dcd77d32855bab2 Status: Downloaded newer image for docker.io/centos:7
CentOS 6のイメージ取得
CentOS 6 のオフィシャルビルドイメージを取得する場合は、以下のようになります。
# docker pull centos:6 Trying to pull repository docker.io/library/centos ... 6: Pulling from library/centos 85c0cc8455d6: Pull complete 362ef9f9960d: Pull complete 6e93f19d1d37: Pull complete 47d44cb6f252: Already exists Digest: sha256:511c0da6f307b782380fe86deccf10bca936f5cfb44c6056266baf8617f8074e Status: Downloaded newer image for docker.io/centos:6
Debian最新版のイメージ取得
Debianの公式イメージについてはDcokerhub・debianのページを確認します。
最新版のイメージは、以下で取得できます。
docker pull debian実行すると、以下のようなります。
# docker pull debian Using default tag: latest latest: Pulling from library/debian 7e2b2a5af8f6: Pull complete Digest: sha256:7790bb087ef265cd56265767a8b689d52c7bc73b30b3cbb37525a9ea66fa9740 Status: Downloaded newer image for debian:latest docker.io/library/debian:latest
取得できたイメージを確認すると、以下のようになっていました。(2020年4月19日)
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE debian latest 378ca4b1d2fe 2 days ago 114MB
Debian 9のイメージ取得
過去のバージョンを取得する場合、 Dcokerhub・debianを開き、Description の行に、Tagsがあるので、そこをクリックします。 すると、イメージのタグ一覧が表示されるので、[Filter Tags]に目的バージョンのコードネームを入力します。 バージョン9の場合は、”stretch" を入力します。
最新版のDebian 9 (stretch)は、以下になります。
docker pull debian:stretch
スリム版(最小?)の取得では以下になります。
docker pull debian:stretch-slim
実行すると、以下のようなります。
# docker pull debian:stretch stretch: Pulling from library/debian 7568c21980bd: Pull complete Digest: sha256:d844caef45253dab4cb7543b5781f529c1c3f140fcf9cd6172e1d6cb616a51c3 Status: Downloaded newer image for debian:stretch docker.io/library/debian:stretch # docker pull debian:stretch-slim stretch-slim: Pulling from library/debian 5e35bd43cf78: Pull complete Digest: sha256:268da2ed8185a2f00b04f85546364d9635f2db88024ace3e4a9d2721b8074603 Status: Downloaded newer image for debian:stretch-slim docker.io/library/debian:stretch-slim
取得できたイメージを確認すると、以下のようになっていました。(2020年4月19日)
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE debian stretch-slim 054366b4bf12 2 days ago 55.3MB debian stretch ef74351b551c 2 days ago 101MB