DockerでCeontOS7上にPHP7.3+apache2を構築してブラウザでPHPファイルを表示します。Dockerのインストールが必要な方は以下を参照してください。
Dockerfileの作成
apacheとPHP7.3をインストールするためのDockerfileを作成します。
# 作業ディレクトリの作成
$ mkdir php7-apache
$ cd php7-apache
# ブラウザでアクセスするPHPファイルの作成
$ vi test.php
<?php
echo "hoge";
?>
# Dockerファイルの作成
$ vi Dockerfile
# ceontos7のイメージを使用する
FROM centos:7
# Install Apache
RUN yum -y install epel-release
RUN yum -y update
RUN yum -y install httpd httpd-tools
# インストールPHP
RUN yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
RUN yum -y update
RUN yum -y install --enablerepo=epel,remi,remi-php73 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt
COPY test.php /var/www/html/
CMD ["/usr/sbin/httpd","-DFOREGROUND"]
Dockerfileでビルド
Dockerfileをビルドしてイメージを作成します。
# イメージ名php7-apacheでイメージを作成する
$ docker build -t php7-apache .
# イメージの確認
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
php7-apache latest 9c6db4f7e689 9 minutes ago 674MB
コンテナの起動
作成したイメージでコンテナを起動します
# コンテナの起動
# docker run -d -p <ホストポート>:<ゲストポート> --name <コンテナ名> <イメージ名>
$ docker run -d -p 4001:80 --name php7-apache php7-apache:latest
正常に起動したらブラウザでhttp://ホストOSのIP:4001/test.phpにアクセスしてPHPファイルが表示されれば完了です。
コンテナに入る
起動したコンテナに入ってphpのバージョンを表示させてみます。
# コンテナに入る
docker exec -it php7-apache /bin/bash
# phpのバージョンを表示する
[root@bfe1946dce57 /]# php -v
PHP 7.3.20 (cli) (built: Jul 7 2020 07:53:49) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.20, Copyright (c) 1998-2018 Zend Technologies
以上でDockerでCeontOS7上にPHP7.3+apache2を構築が完了です。
30代のWEB系企業エンジニアです。毎回同じようなことを検索してしまうので、自分の備忘録的に書いています。サイトのデザインはQiita(https://qiita.com)さんに寄せています。