【docker】dockerファイルの記述例 – PHP開発環境

centos7へapache、phpをインストールするdockerファイルの記述例を記載します。

dockerファイルについては以下を理解していることを前提としますので、以下を参考にしてからこの記事を読んで下さい。

dockerfileの例

以下はdockerfileの例になります。

# イメージ
FROM centos:7

# CentOSのキー(各インストール時に必要)
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

# apacheのインストール
RUN yum -y update
RUN yum -y install httpd

# PHPのインストール
RUN yum -y install epel-release
RUN yum -y update
RUN yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
RUN yum install --enablerepo=remi,remi-php73 -y php php-common php-mysqlnd php-mbstring php-intl php-mcrypt php-opcache php-xml

#ポート80を開ける
EXPOSE 80

# apacheを自動起動させる
RUN RUN systemctl enable httpd

# コンテナ起動時 (docker run) コマンド
CMD ["/sbin/init"]

dockerfileの説明

以降は、dockerファイルの内容についての説明となります。

ベースイメージ

使用するイメージを指定します。
“イメージ名:タグ名”で指定できます。
タグ名は省略可能です。
以下の例は docker hub で公開されているcentos:7のイメージを使用します。

FROM centos:7

apacheのインストール

docker の RUN コマンドを使用して apacheをインストールします。

# apacheのインストール
RUN yum -y update
RUN yum -y install httpd

centosへapacheをインストールすることを、RUNコマンドで実行しているだけです。
centosへapacheをインストールする方法は以下を参照して下さい。

PHPのインストール

docker の RUN コマンドを使用して phpをインストールします。

# PHPのインストール
RUN yum -y install epel-release
RUN yum -y update
RUN yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
RUN yum install --enablerepo=remi,remi-php73 -y php php-common php-mysqlnd php-mbstring php-intl php-mcrypt php-opcache php-xml

centosへphpをインストールすることを、RUNコマンドで実行しているだけです。
centosへphpをインストールする方法は以下を参照して下さい。

ポートの指定

apacheがポート80を使用するので、ポート80を指定します。

EXPOSE 80

apacheの起動

docker run コマンドを実行した時にapacheを起動するように指定します。

# apacheを自動起動させる
RUN systemctl enable httpd

# コンテナ起動時 (docker run) コマンド
CMD ["/sbin/init"]

最後に

次回は今回説明したdockerファイルを使用して、php開発環境を構築します。

© DeNnie.Lab All Rights Reserved.