Dockerによるサーバー構築を簡易的ですがまとめてみました。
メモ的な感じなので説明不足な所もありますがご了承を。
Docker composeによるコンテナ作成
compose.yamlファイルを準備してコンテナを作成・実行します
「-d」はコンテナをバックグラウンドで実行させるオプション。付けないとフォアグラウンドで実行され続けてコマンドが打てなくなるので基本的にこのオプションは付けた方が良い
# コンテナの作成と実行
$ docker compose up -d
作成されたコンテナの確認
コンテナを作成したら http://localhost:8080/ で正常に表示されるか確認
# 実行中のコンテナを一覧表示
$ docker container ls
# 全てのコンテナを一覧表示
$ docker container ls -a
# docker Composeのプロジェクトを一覧表示
$ docker compose ls
コンテナを停止する
docker compose stop
作成済みのコンテナを起動する
docker compose start
コンテナへファイルをコピー
$ docker compose cp ホストのファイルパス コンテナ名:コンテナ内のファイルパス
コンテナの削除
# 紐づいたイメージも含めコンテナを削除
$ docker compose down --rmi all
# -v オプションも付ければdocker composeファイルに記載されたボリュームも削除できる
$ docker compose down -v --rmi all
コンテナ内でコマンドを実行
$ docker compose exec コンテナ名 コンテナで実行したいコマンド
コンテナ内に入る
コンテナにシェルを立ち上げ、コマンドを実行できるようにします
いわゆるコンテナ内に入る操作です
おそらく一番オーソドックスであろうbashと呼ばれるシェルを使います
# Composeのサービス名を指定してコンテナに入る場合
$ docker compose exec サービス名 /bin/bash
# 単一のコンテナを指定してコンテナに入る場合
$ docker exec -it コンテナ名 bash
コンテナのログを表示
$ docker compose logs コンテナ名
イメージの再ビルド
# Dockerfileを変更した際に、イメージの再ビルドを行う
$ docker compose build
# イメージの再ビルドとコンテナの実行を同時に行う
$ docker compose up -d --build
# キャッシュを使わずにイメージをビルド
# Dockerfileの変更が反映されない場合に行う
$ docker compose build --no-cache
Dockerのネットワークを一覧表示
$ docker network ls