Chapter 01

概要

この本は、次のことに焦点を当てています

  • docker runとかdocker buildとかを聞いたことある、程度からの脱却
  • プロジェクトで Docker を使うならどんな感じになるかを理解する
  • Dockerfileとか Docker Compose とかをちゃんと理解する

この記事は モノ操作 を正しく把握し、操作対象結果 を理解するために僕がノートに書いた絵を清書したものです。

この本は、次のことは対象外です

  • Docker のインストール
  • コンテナとは
  • Vagrant との比較
  • Linux コマンドなどの解説
  • Dockerfileのベストプラクティスについて
  • Kubernetes
  • デプロイについて
  • Docker リファレンスの詳細な解説や、OS やバージョンごとの注意点

この記事は Docker の理解度を「何もわからん」から「開発に使える気がする」まで上げることを目的としています。

インストールやリファレンスの詳細な解説は、公式ドキュメントなどが充実しているはずなのでそちらにお任せします。

Docker を触る前の僕の理解度

  • 言語をコンテナで入れたらエディタの Run ボタンってどうなんの?
  • 対話シェル使えんの?
  • プロジェクトで Git 管理するのはどの範囲?
  • docker runしたあとdocker psしてもなにもない!
  • どうやってsshすんの!
  • composer installしてもvendor/がエディタから見えないじゃないか!
  • Dockerfiledocker-compose.ymlって違うの?
  • docker build / docker-compose --buildって違うの?
  • --buildっていつも付けた方が良いの?

これらはこの本で全て解決します。

参考資料

この記事の情報源は、ほぼこのリンクだけです。

この本で扱うもの

要素 使うもの
ホストマシン Mac OSX 10.14 ( Mojave )
言語 PHP8
対話シェル php -a
エディタ IntelliJ ( PhpStorm )
パッケージ管理 Composer
テスト PHPUnit ( Composer で入れたもの )
Web サーバ Apache
DB サーバ MySQL
バージョン管理 Git

一般的な PHP の環境構築になりますが、目的は PHP の環境構築ではなく Docker を理解することなので、それぞれで込み入ったことは行いません。