2021.10.04
非エンジニア向け、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を使うメリットが薄くなりますが。
注意点
コンテナに保存したファイルは、基本残りますが、破壊(削除)されると消えてしまいます。
また、作成したコンテナ自体は比較的壊れやすいため、データを永続化(ずっと残したい)場合は別の領域に保存しましょう。
※例えば、コンテナ外の領域であるローカルだったりサーバ内のディレクトリなどです。