Dockerのコマンドをまとめてみた

Dockerロゴ

最近、Dockerの勉強を始めましたのでよく使うコマンドをメモ書きでまとめてみました。

Dockerとは?

Dockerは、Docker社が開発したコンテナのアプリケーション実行環境を管理するオープンソースソフトウェアです。
開発しているプログラムと合わせてミドルウェアをコンテナ化する事で、ミドルウェアのバージョン違いや構成違いによる動作の問題を解決することができます。

勉強したコマンド

Pull:Dockerイメージを取得

docker pull [イメージ名](:バージョン)
docker pull nginx
docker pull nginx:latest

List:Dockerイメージの一覧表示

取得したDockerイメージを一覧で取得・表示します。

docker images

History:Dockerイメージの履歴表示

指定したDockerイメージの各レイヤーをどのように作成したか履歴を確認できます。
自作のDockerイメージの参考にも使う事が出来そうです。

docker history [イメージ名]
docker history nginx

Rmi:Dockerイメージの削除

取得したDockerイメージを削除します。

docker rmi [イメージ名]
docker rmi nginx

Run:コンテナの起動

取得したDockerイメージをコンテナとして起動します。
Dockerイメージがない場合はダウンロードされます。
「-p」を指定する事でコンテナとホストのポートを関連付けできます。

docker run -p [ホストのポート]:[コンテナのポート] --name [コンテナ名] [イメージ名]
docker run -p 8080:80 --name nginx nginx

Run:コンテナをバックグラウンド起動

取得したDockerイメージをコンテナとしてバックグラウンドで起動します。
「--detach」または「-d」を指定する事でバックグラウンドでの起動になります。

docker run --detach -p 80:80 --name nginx nginx
docker run -d -p 80:80 --name nginx nginx

Stop:コンテナの停止

起動中のコンテナを停止します。

docker stop [コンテナ名]
docker stop nginx

Rm:コンテナの削除

停止中のコンテナを削除します。

docker rm [コンテナ名]
docker rm nginx

Log:コンテナ内のログ表示

コンテナ内のログを取得して表示します。

docker logs [コンテナ名]
docker logs nginx

Inspect:コンテナのメタデータを表示

コンテナのメタデータを表示します。

docker inspect [コンテナ名]
docker inspect nginx

Exec:コンテナのシェル操作

起動中のコンテナにはいりシェル操作をおこないます。

docker exec -it [コンテナ名] sh
docker exec -it nginx sh

難しいコマンド

Run:指定のディレクトリを置き換えてコンテナを起動

「--volume」で指定したディレクトリにホストのディレクトリを設定します。
下記の場合は、/usr/share/nginx/html にコマンドを入力時点のpwdのディレクトリを設定します。
「--rm」はコンテナを停止した場合に内部のデータがクリーンアップします。

docker run -d -p 80:80 --volume "$(pwd)":/usr/share/nginx/html --rm --name nginx nginx

Run:環境変数を設定してコンテナを起動

「--env」でコンテナ起動時に環境変数を設定して起動する事ができます。

docker run -d --env ENV=ABCDEFG --name nginx nginx

勉強中でございますがコマンドをまとめてみました。
その他コマンドについては公式ドキュメントをご確認下さい。

■ Docker - コマンドライン・リファレンス
https://docs.docker.jp/engine/reference/commandline/toc.html