#はじめに
こんにちは、山田です。
今回は、Dockerについてまとめていきます。よろしくお願いします。
#コンテナについて
はじめに、アプリケーションを構成するコンポーネントを以下に記載する。
構成要素 |
---|
ランタイム/エンジン |
アプリケーションコード |
ライブラリなどの依存物 |
アプリの設定ファイル |
コンテナは、アプリケーション動作に必要なものをパッケージングする。パッケージ化したものを、ローカル環境、開発環境、本番環境にデリバリーすることで、ローカル環境、開発環境、本番環境のすべての環境でアプリが動作する。
コンテナの構造として、物理マシンがありその上にOSが稼働しており、コンテナエンジンを介して、コンテナを1つのプロセスとして稼働する。仮想マシンと比べて、ハイパーバイザー、ゲストOSがない。1つのOS上で、複数の同時稼働実行環境を提供する。
#コンテナの特徴
コンテナの特徴を以下に記載する。
特徴 | 説明 |
---|---|
起動・停止が高速 | ハイパーバイザー・ゲストOSがないため、イメージサイズが小さく、起動停止が高速。 |
アプリケーションのデプロイが容易 | OSのカーネルが同じであれば、どこで動かしても同じような結果を得ることができる。 |
柔軟性 | 1つのイメージから複数のコンテナを起動可能。 |
#Dockerについて
Dockerの構成要素を以下に記載する。
構成要素 | 説明 |
---|---|
Dockerデーモン | イメージ、コンテナ、ネットワーク、ボリュームなどのDockerオブジェクトを管理 |
Dockerクライアント | Dockerデーモンと通信するクライアント |
Dockerレジストリ | Dockerイメージを格納するレジストリ |
Dockerイメージ | OSやアプリを含むコンテナンのテンプレート、Dockerレジストリに格納し、そこから取得する。 |
Dockerコンテナ | プロセスとして起動するアプリの実行環境Dockerイメージから起動 |
Dockerfile | ベースOSのイメージからアプリまでの動作環境が記述されたテキストファイル |
#Dockerの基本的な動作について
Dockerの基本的な動作について記載する。
①:SSH等でサーバーに接続する。
②:docker pull コマンドで、Dockerレジストリよりイメージを取得する。
③:docker run コマンドでコンテナを実行する。