Dockerのコマンド

Docker Engineの起動・停止

// Docker Engineの起動
スタートメニューから、[Docker Desktop]をクリック

// Docker Engineの終了
タスクトレイの[Docker Desktop]を押下し、[Quit Docker Desktop]を押下

コマンドの基本構成

// dockerに対し、何をどうする、対象の順に指定する
docker コマンド 対象

// dockerに対し、何を、どうする、対象の順に指定する
docker 上位コマンド 副コマンド 対象

// dockerに対し、何を、どうする、オプション、対象、引数
// コマンドに対してオプションを指定、対象に対して引数を指定
docker 上位コマンド 副コマンド (オプション) 対象 (引数)

コマンドの理解

// コンテナを起動する
docker container run
docker run

// オプション:コマンドに対して細かい設定をする
// バックグラウンドで動かす
-d
// キーボードから操作する
-i
-t
// まとめて記述する
-dit

オプション

// オプション オプション値:コマンドにオプション値を渡す
--name option

引数

// 対象に対して、持たせたい値を書く
--mode=1
--style sample

よく使うコマンド

// Dockerのバージョンを表示する
docker version

// コンテナの一覧を表示
// 動いているコンテナの一覧を表示
docker ps
docker container ls

// 存在するコンテナの一覧を表示
docker ps -a

// 1. コンテナを作成する【コンテナのライフサイクル1】
docker create
docker container create

// 2. コンテナを起動する【コンテナのライフサイクル2】
docker start
docker container start

// 3. イメージをダウンロードする
docker pull
docker image pull

// 1~3をまとめて実行起動する
docker run
docker container run

// コンテナを停止する【コンテナのライフサイクル3】
docker stop
docker container stop

// コンテナを削除する【コンテナのライフサイクル4】
docker rm
docker container rm

コンテナを作成・稼働するコマンド

// 基本の形
docker run オプション イメージ 引数

// コンテナ名を指定する
--name コンテナ名

// ポート番号を指定する(--publishの略)
-p ポート番号:コンテナのポート番号

// ボリュームをマウントする(--volumeの略)
-v ホストのディスク:コンテナのディレクトリ

// コンテナをネットワークに接続する
--net=ネットワーク名

// 環境変数を指定する(--envの略)
-e 環境変数名=値

// バックグラウンドで実行(-detachの略)
// コンテナにキーボードをつなぐ(--interactiveの略)
// 特殊キーを使用可能にする(--ttyの略)
-dit

// 使い方を表示する
-help

コンテナを停止するコマンド

// 基本の形
docker stop コンテナ名

コンテナを削除するコマンド

// 基本の形
docker rm コンテナ名

コマンドの実行例

// Apacheサーバーを作成する
// オプション:
// --name apache20241201 コンテナ名を指定
// -d バックグラウンドで実行
// httpd 最新のApacheをインストールする
docker run --name apache20241201 -d httpd

// 動いているコンテナの一覧を表示
// statusがrunになっている
docker ps

// すべてのコンテナを一覧表示
docker ps -a

// コマンドを停止する
docker stop apache20241201

// 動いているコンテナの一覧を表示
// 停止したコンテナは表示されない
docker ps

// すべてのコンテナを一覧表示
// statusがexitedになっている
docker ps -a

// コンテナを削除する
docker rm apache20241201

// コンテナの消去を確認する
docker ps

コンテナと通信する

// コンテナと通信する
// オプション:
// --name apache20241201 → コンテナ名
// -d → バックグラウンドで実行する
// -p 8080:80 → ホストのポート番号:コンテナのポート番号
// httpd → Apacheの最新のイメージ
docker run --name apache20241201 -d -p 8080:80 httpd

// イメージのバージョンを指定する
// Apacheのバージョン2.2を指定
docker run --name apache20241201 -d -p 8080:80 httpd:2.2

// コンテナの稼働を確認する
docker ps

// ブラウザで http://localhost:8080/ にアクセスし、Apacheの初期画面を表示する

// コンテナを停止する
docker stop apache20241201

// コンテナを削除する
docker rm apache20241201

Nginxコンテナを構築する

docker run --name test01 -d -p 8080:80 nginx
docker stop test01
docker rm test01

MySQLコンテナを構築する

// MySQLコンテナを構築する
// オプション:
// --name mysql20241201 → コンテナ名
// -dit → バックグラウンドで実行する、キーボードで操作する
// -e MYSQL_PORT_PASSWORD= → MySQLのルートパスワードを設定する
// mysql  → MySQLの最新のイメージ
docker run --name mysql20241201 -dit -e MYSQL_ROOT_PASSWORD=myrootpath mysql

// コンテナを停止する
docker stop mysql20241201

// コンテナを削除する
docker rm mysql20241201

イメージを削除する

コンテナが存在しているとイメージは削除できないため、コンテナを停止・削除してから、イメージを削除する

// イメージ一覧を表示する
docker image ls

// イメージを削除する
// docker image rm イメージ名
docker image rm httpd

// docker image rm イメージID
docker image rm 0c86dddac19f

// 複数のイメージを削除する
// docker image rm イメージ名 イメージ名 イメージ名
docker image rm nginx mysql

// Apache2.2のコンテナを削除する
docker image rm httpd:2.2

// MySQLのバージョン別に削除する
docker image rm mysql:5.7
docker image rm mysql:8