DockerのImageが置かれている場所としては、Docker Hubが有名ですが、それ以外にもAmazon・Google・Microsoftがクラウドサービスとして提供しています。
Amazon | Elastic Container Registry(ECR) |
Containerr Registry | |
Microsoft | Azure Container Registry |
Docker | Docker 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 |