プログラミング学習記録#14 Docker②
●Dockerイメージの作成
docker image build コマンドでイメージを作成する
docker image build [オプション] PATH
// オプション
-t // タグをつける
-f // ファイル名を指定(Dockerfile以外の名前の場合)
●コンテナの作成・起動
docker container runコマンド
docker container run [オプション] イメージ [コマンド]
// オプション
-d // コンテナをバックグラウンドで実行する
—name // コンテナに名前をつける
-it // 標準出力とターミナルをアッタッチする(コンテナ上で実行される操作がシェルの場合
// コンテナが終了しなくなる)
●ポートを公開する
Dockerのネットワーク:コンテナのネットワークは独立しており、外部に対して閉じている
そのためポート番号を公開することでコンテナに接続できる
・ポート番号:どのアプリケーション宛の通信なのかを指定する番号
Dockerで外部からコンテナと通信するには・・・?
->コンテナのポートをホストに開放する
例)コンテナ作成時にコンテナのポート番号80をホストに解放し、ホストにポート番号8080へのリクエストをマッピングするように設定する
①ポート番号8080にリクエストを送る
②ホストのポート番号8080をコンテナのポート番号80に変換する
③コンテナのポート番号80にリクエストを送る
④ポート番号80にリクエストを受け取る
コンテナにポートを公開する
・docker container run コマンド実行時に -pオプションをつける
-p コンテナのポートをホストに公開する
docker container run -p 8080:80 myapache:latest
// ホストのポート番号8080とコンテナのポート番号80をマッピングする
●ログの確認
docker container logs [オプション] コンテナ
●コンテナ内でコマンド操作
docker container exec [オプション] コンテナ コマンド [引数]
// オプション
-it // 標準出力とターミナルをアタッチする->シェルを終了させない
●コンテナの停止・削除
docker container stop [オプション] コンテナ
コンテナの停止
・起動中のコンテナをまとめて停止する方法
docker container stop $( docker container ls -q)
docker container rm [オプション] コンテナ
コンテナの削除
docker container rm $( docker container ls -q -a)
// コンテナを全て削除する
$docker container rm -f apache
// 起動中のコンテナを強制削除する
●イメージの削除
docker image rm [オプション] イメージ
●Dockerの掃除
※未使用のものが全て消えてしまうため注意!!
docker system prune [オプション]
// 未使用のコンテナ、ネットワーク、イメージを削除する
// オプション
-a // 全て削除する
—volumes // ボリュームを削除する
-f // 強制的に