【Docker】公開されているコンテナイメージを一時的に使う

docker hubで配布しているコンテナのイメージについて調査したい時があります。
しかし、調査するだけで開発環境(ローカル)に保持する程の事もない時もあります。

今回は、一時的にコンテナを作る方法について記載します。

方法

開発環境にコンテナを作る場合は、docker runコマンドを使用します。
その際に、Dockerレジストリサーバからダウンロードしたイメージをコンテナ化しますが、そのコンテナを起動後直ぐに破棄する方法です。

$ docker run --rm <コンテナ名>

runコマンドのrmオプションを付ける事で、起動して直ぐ破棄する事が出来ます。

使用例

phpコンテナから既存のモジュールをコンソール上に表示します。
コンソールに表示する場合は、itオプションを追加します。

$ docker run -it --rm php:7.3 php -m
// ダウンロード開始
Status: Downloaded newer image for php:7.3
[PHP Modules]
Core
ctype
curl

//省略

[Zend Modules]

Tips

Dockerのレジストリサーバーにログインする

サーバからイメージをダウンロードする時、サーバに認証を求められる場合があります。

ログインしていない状態でdocker runを実行しようとすると次のようなエラーが出ます。
ログインが必要なサーバの場合、事前にログイン処理を済ませておきます。

$ docker run -it --rm php:7.3 php -m
docker: Error response from daemon: Get https://registry-1.docker.io/v2/library/php/manifests/7.3: unauthorized: incorrect username or password.

dockerが接続するサーバーの初期設定は、https://index.docker.io/v1です。
docker login | Docker Documentation

初期設定のサーバの接続情報は、docker hubのアカウントを作成します。
作成後、docker loginでサーバにログインします。

$ docker login

参考URL

docker login | Docker Documentation
login — Docker-docs-ja 17.06.Beta ドキュメント

©︎2017-2018 WebSandBag