1. 概要
1.1 Containerlization とは ?
-
昔のサーバーのモデルは以下の写真通りです。
物理サーバー
+OS
+アプリ
- 問題:
- ① 一つのサーバーは一つのOSのみをインストール出来る。
- ② RAM、ROM等サーバーの資源が一杯有っても全部利用きれない。
-
後で仮想化
virtualization
が生成された。- VitualBoxとかVMWare等を使って
一つの物理サーバ
ー上に複数OS
をインストール出来るようになる。
- 問題:
- 資源について
- VitualBoxを起動するためのHOSTから資源提供するのを必ず定義する。VitualBoxを起動したら
利用しなくても
定義されたHOST資源が掛かります
。これは勿体ない
ことです。
- VitualBoxを起動するためのHOSTから資源提供するのを必ず定義する。VitualBoxを起動したら
- 時間:
- 仮想マシンの起動と終了は
時間がかかる
。
- 仮想マシンの起動と終了は
- 資源について
- VitualBoxとかVMWare等を使って
-
次の段階にて
containerlization
技術が発明された。- こちら技術に応じて
virtualization
と同様に一つの物理サーバ
ー上に複数OS
をインストール出来るだけではなく作成された仮想マシンもHostOSの資源を共有に利用できます。
- こちら技術に応じて
1.2 Container とは ?
イメージとしてはContainer
に必要な環境を入れる。環境を構築したい方はアプリ起動するためのアプリをインストール必要がありません。該当するContainer
を検索し起動すれば済みです。利用しない時にContainer
を終了又は削除する。端末に影響が無い。
1.3 Docker誕生
virtualization
を利用したかったらVirtualbox
とか VMware
を利用する。Containerlization
を利用したかったらDocker
を使う。
2. インストール
-
https://docs.docker.com/get-docker/ にてOSごとのファイルをdownloadしインストールする。
結果:Window端末Docker のバージョンをチェックするコマンド
docker -v
- 例:TomcatのContainerを作成し起動する
- Docker HubからImageをPullする
docker pull image_name
- Imageを実行しContainerを作成する
docker run -v <forder_in_computer>:<forder_in_container> -p <port_in_computer>:<port_in_container> -it <image_name> /bin/bash
- 例:Tomcatサーバーを起動する
docker pull tomcat:8.0.51-jre8-alpine
docker run -p 9005:8080 tomcat:8.0.51-jre8-alpine