Yuri's Blog
読書するイラスト

「Docker&仮想サーバー完全入門」からの学びをまとめる

公開日:2025年2月22日

最終更新日:2025年2月22日

Docker

お久しぶりです、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で開発環境をコンテナ化することができる
これは使ってみたい。。!