Open5

実践 Docker - ソフトウェアエンジニアの「Docker よくわからない」を終わりにする本 スクラップメモ

manamanamanamana

コンテナとは

コンテナはホストマシン上に仮想OSや仮想サーバのようなものを作り出しているわけではなく、ただの隔離された1プロセス
⇒ つまり、Dockerはこの隔離されたプロセスを簡単に作ったり、扱いやすくしたりしている技術

コンテナの特徴

  1. コンテナはイメージをもとに作られる
  2. DockerのCLIやAPIにより、生成・起動・停止を行える
  3. 複数のコンテナは互いに独立していて影響できず、独自に動作する
  4. Docker Engineの上でならローカルでも仮想マシンでもクラウドでも動かせる
manamanamanamana

イメージとは

  • イメージはコンテナの実行に必要なパッケージで、ファイルやメタ情報を集めたもの(レイヤーになっている)
  • イメージはDocker Hubで公開されている
manamanamanamana

Dockerfileとは

  • 既存のイメージにレイヤーをさらに積み重ねるためのテキストファイル
  • 公開されているイメージではインストールしてあるコマンドが足りない、などの問題がある時に自分の都合の良いイメージを作るために作成する
manamanamanamana

Docker Composeとは

  • Docker ComposeはYamlファイルを書くことで複数のコンテナをまとめて起動したりしてくれるツール
  • まとめると、Docker CLIのコマンドをまとめた手順書であるYamlファイルを実行することでまとめてコマンドを実行してくれるマクロのようなイメージ
  • YamlをGitHubなどで共有してDocker compose を使えば再現の手順を簡単に共有できる