Docker Docker うるさい! 以下(ry
最近巷で、ドカドカうるさいので、子供だましのモンキービジネスじゃないだろうなと、試してみることにする。
そもそも、Dockerとはなんぞやと。
これから始める「DockerでかんたんLAMP環境 for CentOS」
にある、以下の図がすごくわかりやすい。
Dockerは、LXC(Linux Container)というLinuxのコンテナ技術を用いて、サーバー上に独立したOS環境を作れるもので、OS環境を保存しておいたり、他のサーバーで稼働させたりと、柔軟なサーバー構築を実現できます。
ちなみに、コンテナ技術は仮想化技術と同列視されますが、KVMやXenなどの完全仮想化とは全く異なるものです。KVMやXenなどがハードウェアのエミュレーションを行ってホストとは異なるOS空間になっているのに対して、コンテナの場合は単一のOSを見かけ上分割しているだけで、ホスト側でpsを行うとゲストのプロセスも含めて全てのプロセスが表示されます。
ということです。わかりやすい!
ハイパーバイザー型の仮想化にくらべて、オーバーヘッドが少なそうなので、仮想環境のゲストOSに構築したり、レンタルサーバーに構築したりと、用途が広そうな気がします。
では、CentOS 7 を Hyper-V 環境に用意したので、以下を確認しながら、CentOS7へインストールしてみるとします。
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
# wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm # rpm -Uvh epel-release-7-0.2.noarch.rpm 警告: epel-release-7-0.2.noarch.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 352c64e5: NOKEY 準備しています... ################################# [100%] 更新中 / インストール中... 1:epel-release-7-0.2 ################################# [100%]
1.3 Docker-io インストール
docker-io パッケージは EPEL の Docker から提供されている
すでに、docker パッケージがインストールされている場合、docker-io と衝突する。先にdockerを削除しておく。
# yum install docker-io : --> 依存性解決を終了しました。 依存性を解決しました ========================================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ========================================================================================================================== インストール中: docker-io x86_64 1.0.0-1.el7 epel 4.5 M トランザクションの要約 ========================================================================================================================== インストール 1 パッケージ 総ダウンロード容量: 4.5 M インストール容量: 23 M : インストール: docker-io.x86_64 0:1.0.0-1.el7 完了しました!
1.4 Docker デーモンの開始
CentOS7 では、従来の service、chkconfig コマンドに変わって、systemctl コマンドが導入されているんですね。chkconfig –list したら、見慣れないコメントが出てきて驚きました。
# systemctl start docker.service
1.5 システム起動時に、Dockerも起動するよう設定
設定ファイルは、/usr/lib/systemd/system/docker.service
ランレベルを設定する場合、設定ファイルの WantedBy= を適宜変更
# systemctl enable docker.service
2.試す
2.1 最新のCentOSイメージの取得
# docker pull centos:latest Pulling repository centos 1a7dc42f78ba: Download complete 511136ea3c5a: Download complete 34e94e67e63a: Download complete
2.2 bash シェルを起動してみる
# docker run -i -t centos /bin/bash bash-4.2# ls
とりあえず、インストールと簡単な確認は完了!
さて、どう遊ぼうか。