Dockerを使ってみました

コンテナ技術

Dockerは、コンテナ技術をPC上で実現・管理できるツール群です。Windows, OS-X, Linux のマルチプラットフォームで動作します。

コンテナ技術とは、ホストOSのカーネルを共用し、別プロセス上でシェル、ウェブサーバー、言語エンジンなどのカーネル以外の部分を動作させる技術です。

このカーネル以外の部分は「イメージ」と呼ばれ、ひとつのファイルとして扱うことができます。つまり環境をカプセル化して保存・再利用することができます。

一台のPC上であたかも複数のマシンが動作しているようにみえます。一見、仮想化技術のようにみえますが、似て非なるものです。

この概念を図にしたものを以前にアップしてあります。こちらを参照してください。

メリットは、

  1. イメージファイルを共有することで、まったく同じ環境を再現・配布できる
  2. イメージファイルを保存しておけば、いくらでもやり直しできる
  3. ホストOSのカーネルを共用することで、仮想環境よりもはるかに軽量
  4. よく利用される環境(イメージファイル)は、Docker Hub というウェブサイトで公開されていて、取得してすぐに利用することができる。
  5. 作成した環境(イメージファイル)は、クラウド上のオーケストレーション環境でも使用できる

 

たとえば、Docker がインストールされているPCで、ターミナルから

> docker run –name my-nginx -d -p 8080:80 nginx

と、入力すると、

  • Docker Hub から、”nginx” イメージをダウンロード
  • Docker内(別プロセス)で、コンテナ “my-nginx” を起動
  • コンテナ内で、Webサーバの “nginx” (ポート 8080)を起動する

ホストPCのブラウザで、”localhost:8080″ にアクセスすると、

Welcome to nginx!

と表示される。

 

コメント

タイトルとURLをコピーしました