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開発環境を構築します。