(初心者向け) Dockerとは、基本的な概念について

docker-about

 

Dockerを学び始めた方向けに、Dockerの基本的な概念をメモ。

 

Dockerとは

docker-icon

Dockerとは、コンテナと呼ばれる仮想化環境を使用した、
アプリケーション実行環境を作成できるシステムのこと。

docker-about

 

コンテナにアプリケーションと実行環境を同胞することで、OSに依存しない環境構築が可能。
一般的な仮想化ソフト(vagrantなど)よりも軽量だという特徴がある

また、コンテナ作成の元となる、イメージファイルと呼ばれるものが存在する。
イメージファイルは共有できるので、ポータビリティの面で優れているだけでなく、このファイルさえあれば、どのホストでも同様の環境を構築可能であり、環境の差が出にくいとう利点がある。

個人や組織が公開したイメージファイルは、Docker Hubから入手可能。

 

コンテナとは

イメージファイルを元に作成される、アプリケーションの仮想実行環境。
仮想実行環境のため、実行ホストとの依存がなく※1、コンテナのみで環境が完結する。

例えばphpのイメージを元にコンテナを作成すれば、ホストにphpがインストールされていなくても、コンテナ上ではphpが動作する。コンテナは複数起動でき、互いに動作しあうことで、一つの実行環境※2として完成する。

docker-container

コンテナの多くは、内部はlinuxのようなディレクトリ構造をしており、それぞれで単体のOSのように見える特徴がある(厳密には異なる)。

実際、サーバ内にsshコマンドでログインするかのように、コンテナ内にもコマンドからログインが可能である。

※1別途設定をすることで、コンテナの実行ホストとファイルやディレクトリを共有することが可能。
※2コンテナ同士の連携、つまりアプリケーション同士の連携。これは、ここでは紹介しないが、docker-composeと呼ばれる、複数のコンテナ同士の依存・連携を一括で管理できるシステムが存在するので、そちらは下記参照。

docker-compose

(初心者向け) Docker Composeの使い方・メリット

 

イメージファイルとは

コンテナ作成の元となる情報がビルドされたファイル。
コンテナはイメージファイルの情報を元に作成されるので、こちらがほぼ、コンテナの正体と言っても良いファイル。

イメージファイルは個人や組織が作成し、公開したものが、Docker Hubというインターネット上から入手可能。

docker-imagefile

※ほぼと言ったのは、通常はコンテナ起動の際に、オプションという形で、付属の設定情報を追加してコンテナを起動するためである。

 

Dockerfileとは

イメージファイルをビルド(作成)する際に参照する、
イメージファイルビルドの手順書のようなもの。

dockerfile

 

Docker Hubとは

GitでいうGit Hubみたいなところ。
個人や組織が作成したイメージファイルがここから入手できたり、
また自分でもイメージファイルを登録できる。

 

Dockerコマンド一覧

Dockerはイメージファイルの操作もコンテナの操作も、
Dockerコマンドによって行うことができる。

Dockerコマンドの使い方は下記にまとめたので、興味があれば参考に見て欲しい。

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。