2017年9月30日土曜日

Dockerでphppgadminがインストールされたイメージを作成する

以下のDockerfileでphppgadminがインストールされたイメージを作成できます。
コンテナを実行後、http://サーバー/phppgadmin/にアクセスします。

Dockerfile
FROM alpine:3.6
ARG DB_HOST=localhost
WORKDIR /
RUN  apk update \
  && apk add --nocache apache2 php7-apache2 php7-pgsql php7-mbstring php7-session openssl openrc \
  && wget https://downloads.sourceforge.net/project/phppgadmin/phpPgAdmin%20%5Bstable%5D/phpPgAdmin-5.1/phpPgAdmin-5.1.tar.gz \
  && tar xvfz phpPgAdmin-5.1.tar.gz  \
  && mkdir /opt \
  && mv /phpPgAdmin-5.1 /opt/phppgadmin \
  && mkdir -p /run/apache2 \
  && { \
  echo ''; \
  echo '  Order allow,deny'; \
  echo '  Allow from all'; \
  echo ''; \
  } >> /etc/apache2/httpd.conf \
  && ln -s /opt/phppgadmin /var/www/localhost/htdocs \
  && sed -i -e "s/extra_login_security.*true;/extra_login_security\\'\\] = false;/" /opt/phppgadmin/conf/config.inc.php \
  && sed -i -e "s/conf\\['servers'\\]\\[0\\]\\['host'\\] = ''/conf['servers'][0]['host'] = '${DB_HOST}'/" /opt/phppgadmin/conf/config.inc.php

EXPOSE 80
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

○イメージのビルド
接続先のPostgreSQLは引数で指定します。
docker build --build-arg DB_HOST= -t httpd24phppgadmin .

例:
docker build --build-arg DB_HOST=192.168.1.110 -t httpd24phppgadmin .


○コンテナの実行
docker run --rm -dit -p 80:80 httpd24phppgadmin


○コンテナの停止
docker ps -a
docker stop 停止したいコンテナのID


○phppgadminのスクリーンショット


○関連情報
VagrantでPostgreSQLとphpPgAdminがインストールされた仮想マシンを構築する

0 件のコメント:

コメントを投稿