Docker Docker うるさい! 以下(ry

最近巷で、ドカドカうるさいので、子供だましのモンキービジネスじゃないだろうなと、試してみることにする。

そもそも、Dockerとはなんぞやと。

これから始める「DockerでかんたんLAMP環境 for CentOS」

にある、以下の図がすごくわかりやすい。

docker-immutable-infrastructure-2

Dockerは、LXC(Linux Container)というLinuxのコンテナ技術を用いて、サーバー上に独立したOS環境を作れるもので、OS環境を保存しておいたり、他のサーバーで稼働させたりと、柔軟なサーバー構築を実現できます。

ちなみに、コンテナ技術は仮想化技術と同列視されますが、KVMやXenなどの完全仮想化とは全く異なるものです。KVMやXenなどがハードウェアのエミュレーションを行ってホストとは異なるOS空間になっているのに対して、コンテナの場合は単一のOSを見かけ上分割しているだけで、ホスト側でpsを行うとゲストのプロセスも含めて全てのプロセスが表示されます。

ということです。わかりやすい!

ハイパーバイザー型の仮想化にくらべて、オーバーヘッドが少なそうなので、仮想環境のゲストOSに構築したり、レンタルサーバーに構築したりと、用途が広そうな気がします。

では、CentOS 7 を Hyper-V 環境に用意したので、以下を確認しながら、CentOS7へインストールしてみるとします。

https://docs.docker.com/

https://docs.docker.com/installation/centos/

1.Dockerのインストール

1.1 Dockerパッケージ

Docker パッケージは、エンタープライズ Linux用拡張パッケージ(EPEL) リポジトリ経由で入手出来きる。

Dockerを動かすには、CentOS 6 以降、カーネルバージョン 2.6.32-431 以降が必要。

 

1.2 EPELリポジトリ準備

エンタープライズ Linux用拡張パッケージ(EPEL) リポジトリ が有効化をまず確認する

以下あたりから、epel-release のパッケージを探す

https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F

http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/beta/7/x86_64/repoview/epel-release.html

RPMダウンロード

http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm

  1. # wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
  2. # rpm -Uvh epel-release-7-0.2.noarch.rpm
  3. 警告: epel-release-7-0.2.noarch.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 352c64e5: NOKEY
  4. 準備しています... ################################# [100%]
  5. 更新中 / インストール中...
  6. 1:epel-release-7-0.2 ################################# [100%]

 

1.3 Docker-io インストール

docker-io パッケージは EPEL の Docker から提供されている

すでに、docker パッケージがインストールされている場合、docker-io と衝突する。先にdockerを削除しておく。

  1. # yum install docker-io
  2. :
  3. --> 依存性解決を終了しました。
  4.  
  5. 依存性を解決しました
  6.  
  7. ==========================================================================================================================
  8. Package アーキテクチャー バージョン リポジトリー 容量
  9. ==========================================================================================================================
  10. インストール中:
  11. docker-io x86_64 1.0.0-1.el7 epel 4.5 M
  12.  
  13. トランザクションの要約
  14. ==========================================================================================================================
  15. インストール 1 パッケージ
  16.  
  17. 総ダウンロード容量: 4.5 M
  18. インストール容量: 23 M
  19. :
  20. インストール:
  21. docker-io.x86_64 0:1.0.0-1.el7
  22.  
  23. 完了しました!

 

1.4 Docker デーモンの開始

CentOS7 では、従来の service、chkconfig コマンドに変わって、systemctl コマンドが導入されているんですね。chkconfig –list したら、見慣れないコメントが出てきて驚きました。

今後、おつきあいしていくことになるため、以下のサイトを参照し、概要をつかむ。

Systemd入門

  1. # systemctl start docker.service

1.5 システム起動時に、Dockerも起動するよう設定

設定ファイルは、/usr/lib/systemd/system/docker.service

ランレベルを設定する場合、設定ファイルの WantedBy= を適宜変更

  1. # systemctl enable docker.service

2.試す

2.1 最新のCentOSイメージの取得

  1. # docker pull centos:latest
  2. Pulling repository centos
  3. 1a7dc42f78ba: Download complete
  4. 511136ea3c5a: Download complete
  5. 34e94e67e63a: Download complete

 

2.2 bash シェルを起動してみる

  1. # docker run -i -t centos /bin/bash
  2. bash-4.2# ls

 

とりあえず、インストールと簡単な確認は完了!

さて、どう遊ぼうか。

 

 

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です