もふもふ技術部

【入門】Dockerを使ってCentOS6 + Nginxを動かしてみる


前回はDockerを使ってUbuntuを動かしてみるところまでやりました。今回はCentOS6とNginxを動かして、ローカルからNginxの画面を確認するところまで試してみました。

前回はこちらを参照

http://j-caw.co.jp/blog/?p=1463

今回はこの辺りを参考にさせていただきました。

http://qiita.com/k2works/items/926c4a3f5798c47b4088
http://qiita.com/reoy/items/e7f11a64af480ec66a27

CentOS6のイメージを保存

boot2dockerを起動してCentOS6のイメージをpullしてきます。

どうやらdockerのイメージ?が共有されているリポジトリがあってそこから取得している模様。Dockerfileが置いてあるっぽい。Dockerfileについては今回は詳しくは触れない。

https://registry.hub.docker.com/

pullしたCentOSを起動してみる。

6.6が入ってた。6.5とか指定するのはどうするんだろう。不明。

普通にnginx入れてみます。

おっとnginxはリポジトリの追加が必要でしたね。インストールに成功したらおなじみの自動起動の設定をしておきます。

仮想OS内で何かしらの処理を行うと、その度にCONTAINER_IDが振られるみたいです。nginxインストール済みの状態のCONTAINER_IDで変更をcommitします。

centos6:nginxというイメージが作成されたことを確認。

centos6/nginxを起動してログインします。-p 80:80はホストOSの80番ポートをゲストOSの80番ポートに飛ばすオプションです。ここでいうホストOSはboot2dockerのことで、Macローカルのことではないです。

この状態ではまだMacOS側からboot2dockerにポートフォワードしていないのでブラウザから確認することは出来ません。

なのでローカルのVirtualBoxの設定でポートフォワードさせます(Mac側を30080してますが何でもOK)。

これでOK。
ここでブラウザからhttp://localhost:30080にアクセスしてみます。

あれ?表示できませんでしたね。Chromeでは「データを受信していません」と出ました。

スクリーンショット 2014-11-06 19.36.46

CentOS側でexitしてしまったからOSごと終了してるのだろうか。わからないので再度CentOSを起動してみます。

nginxが停止していたので手動で起動します。

再びブラウザからhttp://localhost:30080にアクセスしてみます。今度はいけましたね。

スクリーンショット 2014-11-06 19.09.09

補足

デーモンとしても起動できます。通常の運用ではこれで起動することになると思います。

自動起動の設定をしたつもりが、手動でnginxを起動しないとダメだったので引き続き試してみます。

The following two tabs change content below.
原田 敦

原田 敦

日本CAWのエンジニア。もふもふ部の部長。得意分野はRuby on Railsを使った小規模WEBアプリケーションを高速で開発すること。週末の楽しみは一人お菓子パーティー。三度の飯より小動物をもふもふするのが好きです。