はじめに
今まで触れたことのなかったDockerについて、自分なりにまとめました。
チーム開発で同じDockerを知らないだろうチームメイトのために書いたものでもあるので、かなり初学者向けだと思います。
Dockerとは
パソコン上で例えばSwichを動かせるエミュレーターのようなもの。パソコンの中で別のマシンを起動するようなもので、これを「仮想化」という。
Dockerは仮想環境を作成するためのプラットフォーム。
Dockerで仮想環境をつくるメリット
- Aの環境で動いたのにBの環境では動かない、ということが無くなる
- 開発環境で動いたのに本番環境では動かない、ということが無くなる
- 開発環境と本番環境を合わせやすい
- 開発環境のセットアップが簡単になる
Dockerの基本的な仕組み
イメージとコンテナがDockerの基本。イメージからコンテナを生成する。
Dockerイメージ
- コンテナの元になるテンプレート
- OSや実行するアプリケーションや設定をまとめたもの
Dockerコンテナ
- Dockerイメージを元に作成される
- OSとアプリケーションが動く実行環境
Dockerの操作手順
1.イメージを取得、ビルドする
Dockerレジストリからイメージの取得、またはDockerfileからビルドする
ビルドとは、ベースとなるイメージに対して何かしらの手を加えて、独自のイメージをつくり出すこと。
開発環境では、ベースのまま使うことは無い。
2.コンテナを生成、起動する
Dockerfileとは
イメージを作成するレシピ(設計書)。
このDockerfileを使ってDockerイメージをビルド(作成)すると、そのイメージをもとにコンテナを起動することができる。
Docker Composeとは
開発環境においてコンテナは、RubyやPHPなどのアプリケーションが動くコンテナと、データベースのコンテナなど、複数必要となる。
Docker Composeは複数のコンテナを定義し実行するツールである。定義をymlファイルに書くと、一つのコマンドで複数のコンテナを管理できる。