東京都府中市、九段下のWEB制作会社Maromaroのブログです

2021.10.04

Sasaki

非エンジニア向け、docker(ドッカー)とはなんぞ?docker(ドッカー)の使い所

最近dockerって聞いたりしませんか?
だからこそこのページにいるのかもしれませんが!

今回は非エンジニア向けの方に向けてdockerとはなんぞや?使いどころなどを説明します。

dockerって何?

コンテナ環境がなんだかんだと説明がされますが・・・。
要は、特定のサービスなどを動作させる事ができるわけです。
Webサーバの構築であったり、プログラムの実行、各種OSなどの実行などが行えます。
もちろんデータベースなども利用でき、あらゆる環境を構築することが可能です。

dockerを利用しなくても、構築することが可能ではあるのですが
要望に合わせた「特定の環境」を用意したりするとなると、都度環境を用意する必要がでてくるため、コストがかかってしまいますよね

特定のサービスとはなんだ・・・

ここがdockerのミソなわけですが
有志の方が用意してくれていたりする「イメージ」を用いて様々な「サービス」を利用できるわけですが。
身近なところでいくと下記のようなサービスです。

  • Apache(Webサーバ)
  • nginx(Webサーバ)
  • PHP(プログラム言語)
  • MySQL(データベース)
  • PostgreSQL(データベース)
  • CentOS,Windowsなどの各種OS

代表的なところだと、上記のようなサービスが利用できるわけです。

バージョンもある程度合わせられる!

さらに良いところが、各サービスを用いる際にバージョンも変更することができます。
ここが強力なところで、PHP7.4でApache2.4の構成などを作成することが可能なのです。

ですので、お客様の環境に合わせた仮環境の構築などにも役立ちます。

もちろん本番環境にも利用される技術ですが、利用シーンとしては開発環境での利用が多いのではないでしょうか。

コンテナとは

コンテナですが、例えば下記のサービスをそれぞれ利用する場合。

  • Apache
  • MySQL
  • PHP

上記をそれぞれ利用した場合、3つのコンテナを利用することになります。
そして、このコンテナをそれぞれ結びつけることで動作するわけです。

たとえば、CentOSなどのOS自体を利用し、一つのコンテナを用いて全部盛りにすることも可能です。
※インストール手間があるので、せっかくdockerを使うメリットが薄くなりますが。

注意点

コンテナに保存したファイルは、基本残りますが、破壊(削除)されると消えてしまいます。
また、作成したコンテナ自体は比較的壊れやすいため、データを永続化(ずっと残したい)場合は別の領域に保存しましょう。
※例えば、コンテナ外の領域であるローカルだったりサーバ内のディレクトリなどです。