DockerでCeontOS7上にPHP7.3+apache2を構築する

プログラミング

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を構築が完了です。

pocketcode

30代のWEB系企業エンジニアです。毎回同じようなことを検索してしまうので、自分の備忘録的に書いています。サイトのデザインはQiita(https://qiita.com)さんに寄せています。