最近、Dockerの勉強を始めましたのでよく使うコマンドをメモ書きでまとめてみました。
目次
Dockerとは?
Dockerは、Docker社が開発したコンテナのアプリケーション実行環境を管理するオープンソースソフトウェアです。
開発しているプログラムと合わせてミドルウェアをコンテナ化する事で、ミドルウェアのバージョン違いや構成違いによる動作の問題を解決することができます。
勉強したコマンド
Pull:Dockerイメージを取得
docker image pull [イメージ名](:バージョン)
docker image pull nginx
docker image pull nginx:latest
List:Dockerイメージの一覧表示
取得したDockerイメージを一覧で取得・表示します。
docker image ls
History:Dockerイメージの履歴表示
指定したDockerイメージの各レイヤーをどのように作成したか履歴を確認できます。
自作のDockerイメージの参考にも使う事が出来そうです。
docker image history [イメージ名]
docker image history nginx
Rmi:Dockerイメージの削除
取得したDockerイメージを削除します。
docker image rm [イメージ名]
docker image rm nginx
Run:コンテナの起動
取得したDockerイメージをコンテナとして起動します。
Dockerイメージがない場合はダウンロードされます。
「-p」を指定する事でコンテナとホストのポートを関連付けできます。
docker container run -p [ホストのポート]:[コンテナのポート] --name [コンテナ名] [イメージ名]
docker container run -p 8080:80 --name nginx nginx
Run:コンテナをバックグラウンド起動
取得したDockerイメージをコンテナとしてバックグラウンドで起動します。
「--detach」または「-d」を指定する事でバックグラウンドでの起動になります。
docker container run --detach -p 80:80 --name nginx nginx
docker container run -d -p 80:80 --name nginx nginx
Stop:コンテナの停止
起動中のコンテナを停止します。
docker container stop [コンテナ名]
docker container stop nginx
Rm:コンテナの削除
停止中のコンテナを削除します。
docker container rm [コンテナ名]
docker container rm nginx
Log:コンテナ内のログ表示
コンテナ内のログを取得して表示します。
docker container logs [コンテナ名]
docker container logs nginx
Inspect:コンテナのメタデータを表示
コンテナのメタデータを表示します。
docker image inspect [コンテナ名]
docker image inspect nginx
Exec:コンテナのシェル操作
起動中のコンテナにはいりシェル操作をおこないます。
docker container exec -it [コンテナ名] sh
docker container exec -it nginx sh
難しいコマンド
Run:指定のディレクトリを置き換えてコンテナを起動
「--volume」で指定したディレクトリにホストのディレクトリを設定します。
下記の場合は、/usr/share/nginx/html にコマンドを入力時点のpwdのディレクトリを設定します。
「--rm」はコンテナを停止した場合に内部のデータがクリーンアップします。
docker container run -d -p 80:80 --volume "$(pwd)":/usr/share/nginx/html --rm --name nginx nginx
Run:環境変数を設定してコンテナを起動
「--env」でコンテナ起動時に環境変数を設定して起動する事ができます。
docker container run -d --env ENV=ABCDEFG --name nginx nginx
勉強中でございますがコマンドをまとめてみました。
その他コマンドについては公式ドキュメントをご確認下さい。
■ Docker - コマンドライン・リファレンス
https://matsuand.github.io/docs.docker.jp.onthefly/engine/reference/run/