はじめに
ローカル環境にVirtualBoxを使用して開発環境を構築する作業の2回目です。
前回はDBサーバを構築しました。
今回はWEBサーバを構築します。phpinfoを表示します。
構成はPHP + Apache を想定しています。
作業環境
- MacOS X Yosemite 10.10.5
1.phpinfoを用意
今回はまずphpinfoを表示できる環境を構築します。
phpinfo.phpを用意します。
# vim phpinfo.php
<?php
phpinfo();
?>
2.Dockerfileの作成
Apache + php をインストールするDockerfileの作成を行います。
DockerFikeでは、Apache モジュールが同梱された PHP コンテナイメージをベースとして使用。
先ほど作成したphpinfo.phpコンテナイメージに同梱するよう COPY を使ってphpinfo.phpをコンテナに含めるようにしています。
# vim Dockerfile
FROM php:apache
COPY ./phpinfo.php /var/www/html/
3.Dockerイメージを作成
docker build コマンドを使って、新たな自前 Docker イメージを作成します。
dockerfileと同じディレクトリで実行します。
# docker build -t web-server .
以下のようなメッセージが表示されて、Dockerイメージがされます。
Sending build context to Docker daemon 15.36 kB
Step 1/2 : FROM php:apache
Trying to pull repository docker.io/library/php ...
apache: Pulling from docker.io/library/php
802b00ed6f79: Already exists
59f5a5a895f8: Pull complete
6898b2dbcfeb: Extracting [==============================================> ] 62.39 MB/67.43 MB
8e0903aaa47e: Download complete
2961af1e196a: Download complete
71f7016f79a0: Download complete
5e1a48e5719c: Download complete
7ae5291984f3: Download complete
725b65166f31: Download complete
e90b121f9520: Download complete
Digest: sha256:13f2eba8db9eb40f4a4f38a43716518513991d70698da28d56069ad9119abfab
Status: Downloaded newer image for docker.io/php:apache
---> a7d68dad7584
Step 2/2 : COPY ./phpinfo.php /var/www/html/
---> f24ea4de6996
Removing intermediate container eb8dcdd70b1e
Successfully built f24ea4de6996
4.Dockerイメージの確認
Dockerイマージが作成されたか確認します。
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
web-server latest f24ea4de6996 13 seconds ago 378 MB
5.Dockerイメージの起動
作成したDockerイメージを起動します。
docker run --name phpinfo -p 80:80 -d web-server
6.アクセス確認
起動ができたら、ブラウザから起動したイメージのphpinfoにアクセスしてみます。
アクセスできたら、成功です。
http://【VirtualBox IPアドレス】/phpinfo.php
ここまででWebサーバも構築することができました。
次回は、DBサーバ+WEBサーバ+PHPアプリまでを実施するところまでを
まとめたいと思います。
参考URL
https://qiita.com/kumatch/items/7ea3bd4f87237980a399
https://qiita.com/nagi244/items/a13bf66d9eb6780ebcef