Docker入門メモ
Dockerとは
- コンテナ型仮想環境を作成、実行、管理するためのプラットフォーム
- Dockerのソフトウェアを使い、素早くコンテナを起動して様々なアプリを実行することができる
- 異なる設定環境のPCでも簡単に同じ仮想環境を再現できる
- DockerはGo言語で書かれている
Dockerの用語
Dockerイメージ
Dockerコンテナを作成するための雛形となるもの。
Dockerイメージは、アプリケーション、ライブラリ、設定ファイルなど、アプリケーションを実行するのに必要なものを一式にまとめたもの。
出来上がったアプリケーションをDockerイメージとして保存して、別のサーバーへ持っていくことで同じ環境を別のサーバーでも再現することが可能
Dockerコンテナ
Dockerイメージをもとに作成されるコンテナ型仮想環境のことをDockerコンテナ、またはコンテナと呼ぶ
イメージからコンテナを作成することで、何度でも同じ仮想環境を作成することができる
コンテナを起動することで、イメージにセットアップしたアプリケーションの機能を提供することができる。
Docker Hub
Dockerイメージを保存するための機能などを提供しているサービス。
別の方が作成したイメージもダウンロードでき、コンテナとして動かすことができる
Docker Hubのようなイメージを補完できる機能を持ったものをレジストリと呼ぶ
ユースケース
- アプリケーション開発
- 検証環境、本番環境
- Webサーバー、DBサーバーの構築
- その他のミドルウェアの環境設定
Dockerを使うメリット
- プログラムの実行環境を素早く立ち上げられる
- 再現性のある環境を用意できる、違うPCやサーバー間で動かす場合も差異が生まれにくい
- 設定ファイルを共有することでプロジェクトメンバー間で同じ環境を立ち上げられる
インフラ環境のコードを定義したものをinfrastructure as code
と呼んだりする。
設定ファイルをもとに環境を作ることができ、設定ファイルを見れば何がインストールされているのかもわかる。 - PC環境を汚さずにすむ