LoginSignup
0
1

More than 1 year has passed since last update.

Web開発の仮想化についてまとめてみた(図あり)

Last updated at Posted at 2021-04-18

Dockerについてあまり理解していなかったので、
自分なりに簡単にまとめていきたいと思います。

今回はWebアプリ構築することを前提に書いていきます。

Dockerとは

仮想環境を構築するためのツールです。

"コンテナ"と呼ばれる仮想環境を構築し、
そのコンテナを組み合わせて動かすことでWebアプリを動かすことができます。

コンテナとは
設定ファイルなどをひとまとめにしたもの。
例えば、
アプリ(laravel、Railsなど)、ミドルウエア(MySQL,Nginxなど) 、OS(CentOS,Ubuntuなど)など様々なコンテナを作ることができます。

Docker意外にも様々な仮想化ソフトが存在します。(図)
スクリーンショット 2021-04-18 17.51.52.png

コンテナを細かく見るとこんな感じです(図)
ev091.JPG

イメージ

Dockerコンテナを作るためのためのレシピみたいなものです。

ベースイメージ

Docker Hubなどで提供されているベースになるイメージです。

レイヤ

レイヤを重ねることでイメージを自分好みにカスタムできます。

Dockerと仮想化ソフト(VirtualBox)の違いは?

仮想化ソフト(VirtualBox)
■メリット
・細かな設定ができる。
■デメリット
・ゲストOSを起動しなければならない。Dockerに比べてCPU、メモリを消費する。

Docker
■メリット
・イメージがあれば簡単に環境構築ができる。
・「作って壊す」がすぐでき、必ず同じ環境が作れる。
■デメリット
・同一のOSから複数のコンテナを作成するため、違うOSを使いたい場合は別のマシン必要。

家を例にして比較(DockerとVirtualBox)

スクリーンショット 2021-04-18 17.52.31.png
スクリーンショット 2021-04-18 17.52.43.png

①土地(ホストOS)

 家を立てるのに土地が必要。

②家の外装(VirtualBox、Docker Engine)

 家の骨組み、外観を決める。

③家の内装(Vagrant、Docker)

 Vagrant:内観の設計、部屋を何するかを決める
     →細かく決めるが設計など時間がかかる。

 Docker:部屋を何するかを決める
     →部屋をすぐに変更できるが家の細かなカスタムは不向き。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1