PHP
Apache
VirtualBox
Docker
centos7

VirtualBox上のCentOS7にdockerでPHP+Apache環境を構築


はじめに

ローカル環境にVirtualBoxを使用して開発環境を構築する作業の2回目です。

前回はDBサーバを構築しました。

今回はWEBサーバを構築します。phpinfoを表示します。

構成はPHP + Apache を想定しています。


作業環境


  • MacOS X Yosemite 10.10.5


1.phpinfoを用意

今回はまずphpinfoを表示できる環境を構築します。

phpinfo.phpを用意します。

# vim phpinfo.php


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