Viblo Learning
+5

[Docker] 1.紹介

1. 概要

1.1 Containerlization とは ?

  1. 昔のサーバーのモデルは以下の写真通りです。

    • 物理サーバー + OS + アプリ

    • 問題:
      • ① 一つのサーバーは一つのOSのみをインストール出来る。
      • ② RAM、ROM等サーバーの資源が一杯有っても全部利用きれない。
  2. 後で仮想化 virtualizationが生成された。

    • VitualBoxとかVMWare等を使って一つの物理サーバー上に複数OSをインストール出来るようになる。

    • 問題:
      • 資源について
        • VitualBoxを起動するためのHOSTから資源提供するのを必ず定義する。VitualBoxを起動したら利用しなくても定義されたHOST資源が掛かります。これは勿体ないことです。
      • 時間:
        • 仮想マシンの起動と終了は時間がかかる
  3. 次の段階にて 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を作成し起動する
  1. Docker HubからImageをPullする

docker pull image_name

  1. 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

参考資料


All Rights Reserved