cre8cre8
AskMe♥

vagrant上のdockerにapache立ててホストOSからポートフォワーディングでアクセス

dockerをvagrantにインストールする派には必須のポートフォワーディングです。
はい、こんばんわ。たくみです。
本日はdockerにapacheインストールしてのはいいけど、
これホストからどうやってアクセスするの?っという困ったちゃんを解決します。

vagrantでubuntuをインスコ

それでは、vagrantでubuntuをインスコしちゃいましょう。

bash
1vagrant init bento/ubuntu-16.04

たったこれだけでubuntuがインストールできちゃうなんて、
いい時代に生まれたと思います。
(物理マシンにLinux入れては壊しまくったのはいい思い出です。)

ホストOSからdockerへつなげるため、1行だけVagrantfileを編集します。
といっても、コメント解除するだけです。

Vagrantfile
1# config.vm.network "forwarded_port", guest: 80, host: 8080 この行のコメントを解除する
2config.vm.network "forwarded_port", guest: 80, host: 8080

vagrantの準備はこれで完了です。
それでは、ubuntuを起動してssh接続しちゃいましょう!

bash
1vagrant up
2vagrant ssh

docker pullでcentos6をプルる

ここからはvagrantで作ったubuntuでの作業になります。
何はともあれ、dockerをインスコしないとはじまらないのでインスコします。

bash
1sudo apt-get install docker.io -y

dockerではなく、docker.ioなのに注意してください。
インストールが完了したら、centos6のコンテナを作っていきましょう。

bash
1sudo docker pull centos:6

これもvagrantと同じでたった1行でcentosが用意されます。
ほんとにいい時代になr(ry

apacheをインスコしたコンテナをコミット

用意したcentosのコンテナにapacheをインストールします。

bash
1sudo docker run -i -t centos:6 yum install -y httpd

apacheを導入したcentosをdocker commitします。
わかりやすく言うと名前をつけて保存です。

bash
1sudo docker ps -a
2CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                          PORTS               NAMES
3cf683e0ac593        centos:6            "yum install -y httpd"   2 minutes ago       Exited (0) About a minute ago                       determined_bartik
4
5sudo docker commit cf683e0ac593 centos/httpd
6sha256:198d0ad65a6498ca1f45b13b7e0cf09ebbd3b7560467d9da9f5be4d892ffd4ff

docker ps -a でコンテナIDを取得します。
そして取得したコンテナIDに対して docker commit して centos/httpd という名前をつけます。

ポートフォワーディングでdocker run

時は満ちた!!
準備ばっちりカンペキ☆なので、dockerを起動しましょう!

bash
1sudo docker run -d -p 80:80 -t centos/httpd /usr/sbin/httpd -DFOREGROUND
2837cbd5634daa132d0f4aa5c0f8728504487bbe6b25139484be85b2bf4d3f325

それでは、ホストOSのブラウザを起動して、 http://localhost:8080 へアクセスしてください!
ポートフォワーディングが成功してapacheのページが表示された画面
パーペキですね。これで、
ホストOS⇔vagrant⇔docker
の通信ができています。

これを応用すると、PHPやRailsも動かせますので、
機会とやる気がでたら解説しようと思います。

それでは、お疲れ様でした!

≪ 前の記事
scrollが効かないときはheightを見直そう
次の記事 ≫
世界一やさしいRedmineのインストール方法

いいねやコメントを送っていただけると中の人がしっぽ振って大喜びします♪

あなたへのおすすめの記事