そもそもDocekrって何よ??
・アプリケーションの開発・実行するための仮想環境を作る仕組み
・アプリケーションを「コンテナ」にパーケージングして、デプロイ、実行という流れをコード化できる
・アプリケーションの実行に必要な環境を一つのイメージにまとめて、様々な環境でアプリケーション実行環境を構築/運用するためのもの
・Docker は部品(コンポーネント)から迅速にアプリケーションを組み立てるため、コードの移動による摩擦を無くします。Docker はコードのテストやプロダクション(本番環境)に対する迅速な展開をもたらします。
**自分がわかりやすいのでイメージすると良い!!**
コンテナって何よ!
アプリ本体、必要なライブラリをパッケージングした物
例:Ruby+Rails+Mysql=コンテナ
dockerの特長を3つ
①コンテナ型の超軽量サーバ仮想化製品
OSの内部に独立したアプリケーションの実行
環境=コンテナを生成することができる
リソース消費量が非常に少なく1台に物理サー
バに多くのコンテナを稼働させられる
②コンテナ内は実行環境として独立している
コンテナを利用することでOS内に多面の実行環
境を構築することができる
環境も独立しているため、コンテナで分離して
いればファイルやバージョンの競合や、設定や
ポートの競合が回避できる
③コンテナはリソース消費量が少ない
同一OSのコンテナを多数起動する場合、各コンテナの差
分データのみがハードディスク上に保持されるため、
ハードディスクの消費量が大きく削減できる
Dockerの仕組み
①Dockerエンジン
Dockerそのもの!!
・イメージの生成やコンテナの起動などを行うためのコア機能
・コンテナ実行のプラットフォーム
②Dockerコンテナ
コンテナとは、ホストOS上に論理的な区画(コンテナ)を作り、アプリケーションを動作させるのに必要なライブラリやアプリケーションを一つにまとめ、あたかも個別のサーバーのように使うことができるようにしたもの!
③Dockerイメージ
Dockerコンテナを作るためのレシピのことで、このイメージを元にコンテナが生成される。
アプリケーションを実行に必要なファイル群が格納されたディレクトリです。
④Dockerレジストリ
コンテナの元になるDockerイメージを公開・共有するための機能です!
Dockerイメージを保管しているところ!
Dockerのメリット
・Dockerイメージがあれば、簡単に環境構築できる
最後に
私自身が初心者であり勉強中のため、わかりやすくイメージつきやすいようにまとめました。
次回は実際にイメージ生成からコンテナの起動等の動きをまとめてみたいと思います。