pukiwikiを動かすDockerfile の変更点

更新


[[公開メモ]]

* php に加えて、platex や plantuml を入れる [#ef6d4966]

debian:stretch-slim に apache2 + php7 を入れ、さらに以下のパッケージを入れた。

- [[ソフトウェア/pukiwiki/QRコードの表示]] のために php-sqlite3, php-curl
- [[ソフトウェア/pukiwiki/uml.inc.php]] のために pluntuml.jar, default-jre, graphviz
- [[ソフトウェア/pukiwiki/数式プラグイン]] のために platex, dvipdfmx, pdf2svg

www-data の uid, gid を適当な値に変えることで、ホスト側の pukiwiki フォルダの uid, gid と一致させた

メンテナンスが必要になることも多いので、Dockerfile の ENTRYPOINT は指定せず、
代わりに bash を起動するようなこともできるようにしている。
* イメージの作成と使用 [#e4d703c1]

下の Dockerfile と start-apache2.sh があるフォルダーで、
次のようにしてイメージを作成した。サイズは 1.62GB とか。

 LANG:console
 $ docker build -t private/stretch-pukiwiki .

使うときは、

 LANG:console
 $ docker run -d -p1888:80 -v ~takeuchi/pukiwiki:/var/www/html private/stretch-pukiwiki /start-apache2.sh

のように、ホストの pukiwiki フォルダを /var/www/html に繋ぎ、
また、適当なポートを 80 番に繋ぐ。

* ソースファイル [#xd126e17]

Dockerfile
 FROM debian:stretch-slim
 
 RUN set -x && \
     apt-get update && \
     apt-get install -y gnupg wget && \
     echo "deb http://packages.dotdeb.org stretch all" > \
         /etc/apt/sources.list.d/packages.dotdeb.org.list && \
     wget -O- https://www.dotdeb.org/dotdeb.gpg | apt-key add - && \
     apt-get update && \
     apt-get install -y php php-mbstring && \
     apt-get install -y php-sqlite3 php-curl && \
     apt-get install -y texlive-lang-japanese texlive-latex-extra pdf2svg && \
     sed -i "s/www-data:x:33:/www-data:x:1000:/" /etc/group && \
     sed -i "s/www-data:x:33:33/www-data:x:1000:1000/" /etc/passwd && \
     wget http://sourceforge.net/projects/plantuml/files/plantuml.jar/download \
         -O /usr/local/bin/plantuml.jar && \
     mkdir -p /usr/share/man/man1 && \
     apt-get install -y default-jre graphviz && \
     apt-get purge -y gnupg && \
     apt-get autoremove -y && \
     apt-get clean && \
     set -u
 
 EXPOSE 80
 
 COPY start-apache2.sh /start-apache2.sh
 
 # ENTRYPOINT ["/start-apache2.sh"]

start-apache2.sh
 #!/bin/bash
 source /etc/apache2/envvars
 apache2 -D FOREGROUND

* イメージの作成と使用 [#e4d703c1]

下の Dockerfile と start-apache2.sh があるフォルダーで、
次のようにしてイメージを作成した。サイズは 1.62GB とか。

 LANG:console
 $ docker build -t private/stretch-pukiwiki .

使うときは、

 LANG:console
 $ docker run -d -p1888:80 -v ~takeuchi/pukiwiki:/var/www/html private/stretch-pukiwiki /start-apache2.sh

のように、ホストの pukiwiki フォルダを /var/www/html に繋ぎ、
また、適当なポートを 80 番に繋ぐ。

* これからやること [#r0bed86a]

- ホストの apache2 との連携
- ssl や http2 の利用

Counter: 3699 (from 2010/06/03), today: 1, yesterday: 0