環境構築が驚くほど簡単になる【 Docker 】の概要説明

docker

開発環境を構築するのが大変、
開発する人の分だけ、開発環境を構築するのに時間が掛かる。
そんな経験ないでしょうか?
そんな方には、dockerがお勧めです!

dockerって何?
dockerって聞いたことあるけど、
何がいいのか良く分かってない。。。
こういった疑問にお答えします。

Dockerとは

dockerをWikiで調べると、
「コンテナを用いてアプリケーションを開発・配置・実行するためのプラットフォームです。」
との記述があります。
うん、良く分からないですよね。
dockerの構成図を使って説明します。

用語の説明

用語説明
コンテナ動作させたいアプリケーション(Nginx、SQL、自作アプリ等)が入っています。
イメージコンテナのアプリケーションを動かす為に必要な、
ファイルシステム(/bin, /etc, ・・・)、アプリケーションを動かす為に必要なコマンド、外部公開用ポート、メモリ領域などで構成されています。
Docker Engineイメージからコンテナ作ったり、コンテナを起動させたり、
イメージ、コンテナを操作します。
OSWindows, MAC, LinuxなどのOSを指します。
Dockerfileイメージを作成する為の設計図。
Docker Hubクラウド上に、アプリケーションのベースとなる、CentOSや、Nginx、Python等のイメージが存在しています。

Dockerとは

Dockerの中で一番のポイントは、コンテナと呼ばれるアプリケーションが動作する箱です。
この箱を作る為に、様々なソフトウェアのインストールや設定が必要になるのですが、これらのインストールや設定を簡単にする仕組みがDockerになります。

コンテナは、イメージを使って作ります。

イメージは、すでに存在するDocker Hubからダウンロードしたり、
Dockerfile(イメージ作る為の設計図)から作ることが出来ます。

Docker Hubには、CentOSや、Nginx、Pythonなど、
様々なアプリケーションのイメージが存在しており、自分の作りたいアプリケーションに応じてイメージを選択します。

Dockerfileは、Docker Hub内のイメージをベースにして、
自分なりにカスタマイズしたアプリケーションを作ることが出来ます。

イメージとコンテナの関係は、タイ焼きの金型とタイ焼きに似ています。
イメージが、タイ焼きの金型で、コンテナがおいしいタイ焼きです。
金型があれば、おいしいタイ焼きが誰でも簡単に作れますよね。
Dockerも同じ考えですね。

Dockerを使うメリット

Dockerを使うメリットには、以下があります。

  • Dockerfileという設計図(or イメージ)があれば、
    誰でも、どのOS(Windows, Mac, Linux)でも、同じ環境が作れる。
  • Dockerfileはテキストなので、ファイルサイズが小さく、配布が容易。
  • 環境に修正を行っても、環境の再構築がコマンド一つで簡単に出来る。
  • コンテナは独立して動作しており、
    ある一つのコンテナが動かなくなっても、
    他のコンテナには影響を与えない

よって、環境を構築する際に
・インストールすべきソフトが入っていなかった、
・ソフトのバージョンが間違っていた、
・設定が一か所間違っていたりと、
なぜ環境が動かないのか数日悩む日々から開放されます

まとめ

Dockerの概要とメリットについてお伝えしました。
開発環境構築で困っている方は、是非Dockerを使ってみては如何でしょうか。

次回は、基本的なDocker コマンドについてお伝えします。

タイトルとURLをコピーしました