入門docker 復習(1)
はじめに
Dockerとは
- コンテナと呼ばれる仮想化技術
なぜDockerを使うのか
- ポータビリティ
- 特定の環境をパッケージし、どの環境でも動くポータビリティを保証する
- 任意の状態をスナップショットとして保存し、他の開発者や環境へ配布が可能
- オーバヘッド(付加的な処理)
- Immutable Infrastructure(不変なインフラ)
- 今まではライブラリの更新・コードの追加をする際はサーバーへの操作で変更を加えてきた
- 変更が発生する場合は新しくスナップショットを保存し、サーバーを立ち上げる
- Dockerfileによりインフラをコードベースで構築し、Imageによりスナップショットとして保存する
VMとDocker
- VMはコンピュータ自体を仮想化する一方、Dockerはプロセスを仮想化する。
VirtualMachine
- VirtualMachineは、ハードウェア・カーネル(OS)・ユーザースペースの低レイヤーから仮想化をする技術
- 仮想化領域が広くなる分、オーバヘッドが大きくなる