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 ドキュメント