ついんてっく

双子のエンジニア(兄:web、弟:インフラ)が気になること、今やってるプロジェクトとかについて書きます。ぶっちゃけ1人でやって続かなかったから監視体制を置いたのが強いサボりん坊や

Dockerを使う①

久々のブログ更新です。

今日はDockerについてご紹介。(今更感はありますが)

Dockerとは

f:id:twins_tech:20160919153751p:plain

Dockerとは 、Docker社が提供しているサーバ仮想化技術の一つです。
コンテナと呼ばれる仮想的なOS環境をもちいて、1台のサーバで複数のプロセスを起動するサーバ仮想化技術です。
サーバ仮想化には大きく以下の種類があり、そのうち、Dockerはコンテナ型の仮想化技術になります。
f:id:twins_tech:20160919150104p:plain

コンテナ型以外では、ホスト型、ハイパーバイザー型があり、それぞれの特徴は以下の通りです

f:id:twins_tech:20160919153621p:plain

コンテナ型は他の2つの仮想化技術に比べ、使用できるOSに制限はあるものの、消費するリソース、オーバーヘッドが少ないという特徴があります。

Dockerの特徴

Dockerの特徴として、大きく2つの特徴があります。
・Dockerfile
Docker設定をコード化したファイルです。設定をコード化することで、同じ設定のイメージを何度でも起動することが可能となります。
・DockerHub
Dockerのイメージを共有するサービスです。当サービスを利用することで、簡単に他のイメージを入手することができます。

Dockerのコマンド

Dockerで使用する主なコマンドは以下の通り。

f:id:twins_tech:20160925145147p:plain

・docker run "イメージ名"

 dockerイメージを起動します。
 "イメージ名"を指定することで、指定されたイメージを起動できます。

・docker commit "コンテナ名"

 dockerコンテナ(スナップショット)から新しいイメージを作成します。
 新しいイメージを作成することで、同じ設定のイメージをdocker runで
 起動できます。

・docker stop "コンテナ名"

 起動したdockerコンテナを停止します。
 停止したコンテナはスナップショットとよばれるイメージファイルで保存されます。

・docker start "コンテナ名"

 停止したdockerコンテナのスナップショットを再起動します

・docker build "Dockerfileのパス"

 dockerfileから新しいイメージを作成します。
 docker commitは、すでに起動したコンテナから新しいイメージを作成するのに
 対し、docker buildはdockerfileとよばれる構成ファイルからイメージを作成します。
 dockerfileに構成を記載することで、dockerfileさえあれば同じイメージを何度でも
 作成できます。
  ・docker pull "イメージ名"

 DockerHubにあるイメージを取得します。
 DockerHubとは、前述の通りDockerのイメージが共有されているサービスとなり、
 その中で取得したいイメージを取得することができます。

・docker push "イメージ名"

 DockerHubに作成したイメージを保存します。
 DockerHubに共有することで、利用者全員が保存したイメージを取得することが
 できます。

以上、Dockerの概要とよく使うコマンドになります。
次回以降、より具体的な例にそった形で紹介できればと思います。