環境構築

Docker Imageを検索する場所と取得・一覧表示・削除する方法

DockerのImageが置かれている場所としては、Docker Hubが有名ですが、それ以外にもAmazon・Google・Microsoftがクラウドサービスとして提供しています。

AmazonElastic Container Registry(ECR)
GoogleContainerr Registry
Microsoft Azure Container Registry
DockerDocker Hub

Dockerインストール時にデフォルトで探しにいく場所は、Docker Hubが指定されています。同じ会社が運営しているのだからそれは当然ですね。

Docker Hubの便利な点は、Web上でイメージ検索できる点です。
公式サイトはこちら

golangの横にOFFICIAL IMAGEというアイコンがありますが、これがついているものは、イメージ名の表記のみで使用ができます。
通常は、ユーザー名/イメージ名という形でしか表現できません。
基本的には、OFFCIALを利用するのが吉です。

Docker Hubの利用方法

今回は、MongoDBを利用していきます。
まずは、Docker Hubで検索してみます。

詳細を見ると、右側に使用方法が書かれているので、自身の環境に合わせてOSを選択してコマンドを実行します。

イメージ取得

dockerイメージの取得の仕方はいくつか指定方法があります。

docker image pull NAME[:TAG]

NAMEにはDokcerイメージ名が入ります。先程のmongoなどです。
そして、TAGですがこちらはバージョンなどの指定です。省略するとlatestタグが自動的に入り、最新版がインストールされます。

一覧表示

多数のイメージを取得すると何を取得したのか忘れてしまいます。
そこで、取得済みのDockerイメージの一覧を表示するコマンドが用意されています。
※引数はありません

docker image ls

イメージ削除

容量を圧迫している使わないdockerイメージを削除する方法もあります。

docker image rm IMAGE

指定されたイメージを削除します。引数のIMAGEはDockerイメージIDです。
一覧表示で取得できるのでそちらを利用します。

削除したいイメージが少ない場合は上記の方法で良いのですが、多い場合にはわざわざ一つずつ使っていないイメージを調査して、削除するのは手間がかかります。
そこで使われていないイメージを一括削除してくれる方法もあります。

docker image prune

実際にはこちらのコマンドが使いやすいので、良く使用します。

使用方法

先程検索したMongoDBを取得してみます。

docker image pull mongo

最新版が取得されますが、少し時間がかかります。
無事取得できているかどうか、docker image lsで確認してみます。
すると、下記のように表示されるはずです。若干表記に違いはありますが概ね一緒であれば問題ありません。

ここで注目して欲しいのが、IMAGE IDです。これが削除するときに必要なものになります。

そして、最後にdocker image rm IMAGE IDと指定してあげて削除できるか確認します。

これが、イメージを扱う基本的なコマンドになります。

補足

今まで正式名でコマンドを打ってきましたが、実際の開発では省略形でコマンドを打つことが多いので、そちらも紹介しておきます。

種別 通常 省略
ビルド docker image build docker build
一覧 docker image ls docker images
取得 docker image pull docker pull
削除 docker image rm docker rmi