
「Docker&仮想サーバー完全入門」からの学びをまとめる
公開日:2025年2月22日
最終更新日:2025年2月22日
お久しぶりです、Yu_riです。
今回は「Docker&仮想サーバー完全入門」という本を読了したため、この本で学んだことをまとめたいと思います。
今後学んだことが増えた場合は、追記していきます。(まだ1周しか読んでおらず理解が浅いため。。)
学んだこと
● Dockerを使うとホストOSを汚さずに環境構築ができる
● dockerコマンドで「対象」を指定する
「docker container run」や「docker image pull」のように「対象」を明確に指定する。
対象を指定しなくても使用できる(「docker run」など)が、2017年以前の古いコマンドである。
● Docker ComposeはV2を利用する
コマンドはV1では「docker-compose」だが、V2では「docker compose」を使用する。
YAMLの名前はV1では「docker-compose.yaml」や「docker-compose.yml」だが、V2では「compose.yaml」を使用する。
※「docker compose」を使用すると自動的にV2での利用となる。
● 学習用ではDocker ComposeのServicesでrestartを使用しない
restartを「always」に設定するとDocker Desktopの起動時に自動でコンテナも起動される。
「always」のコンテナが多ければ多いほど処理が重くなってしまうため、必要なコンテナのみrestartを「always」に設定する。
● Docker Composeファイルの先頭でversionの記載は不要
「version: "3"」などDocker Composeのバージョンを表す項目を記載できるが、公式ドキュメント上で非推奨となっている。
● コンテナのログを表示するには「docker compose logs」を使用する
● イメージの再ビルドを行うには「docker compose build」を使用する
「docker compose up -d」でコンテナを起動する際、イメージがあると再ビルドが行われない。
そのため「docker compose build」でイメージを明示的に再ビルドする。
「docker compose up -d --build」でコンテナの実行とイメージの再ビルドを同時に行える。
● Dev Containerで開発環境をコンテナ化することができる
これは使ってみたい。。!