0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

QNAP Dockerの単一コンテナ上で複数のDokuwikiを動かす話

Last updated at Posted at 2023-09-23

Docker上の単一コンテナで複数 DokuWikiを動かしたい。

bitnamiがDokuWikiのimageを用意してくれているが(linuxserverも人気があるみたいだがUpできなかった)、1コンテナ1wikiで動くのが基本っぽい。
都合により、複数のWikiを動かしたいが(会社でやっていることの動作テスト)同じapacheやphpを積んだコンテナを複数起動するのもなんか変な感じなので一つのコンテナ上で複数のDokuWikiを動かしてみた。
QNAP上でやったのは何か意図するものがあるわけではなく、私の環境で手っ取り早く実行できる環境がQNAPだっただけです。

どうしたか

php8.2+apacheなimageからコンテナを作成。そこにDokuWikiを展開して起動する。以上。

ディレクトリ構造

qnap@qnap:~/docker/dokuwiki$ tree -L 2
.
├── docker-compose.yml
├── Dockerfile
└── html
    ├── wiki1   ★dokuwiki~~.tgzを展開済のディレクトリ。
    ├── wiki2   ★dokuwiki~~.tgzを展開済のディレクトリ。
    └── dokuwiki-a6b3119b5d16cfdee29a855275c5759f.tgz

docker用ファイル

docker-compose.yml
version: '3'
services:
  dokuwiki:
    container_name: 'dokuwiki'
    hostname: 'dokuwiki'
    build:
      context: .
      dockerfile: ./Dockerfile
    ports:
      - "8082:80"
    volumes:
      - ./html:/var/www/html
FROM php:8.2.10-apache-bullseye

ENV LANG     ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV TERM     xterm

dokuwikiはテキストファイルで直接加工できることが非常にメリットなので、ローカルディレクトリをコンテナにマウントしています。

dockerコンテナの作成

何も考えずにDockerコンテナ作成&起動します。

qnap@qnap:~/docker/dokuwiki$ docker compose up -d
[+] Building 41.4s (7/7) FINISHED
~~snip~~
[+] Running 2/2
 ⠿ Network dokuwiki_default  Created      3.3s
 ⠿ Container dokuwiki        Started      3.5s
 
qnap@qnap:~/docker/dokuwiki$ docker ps -a
CONTAINER ID  IMAGE              COMMAND                  CREATED         STATUS         PORTS                 NAMES
2e20002bXXXX  dokuwiki-dokuwiki  "docker-php-entrypoi…"  13 seconds ago  Up 10 seconds  0.0.0.0:8082->80/tcp  dokuwiki

dokuwikiのdownload&展開

dokuwikiのtarをDLし、htmlディレクトリに設置後展開、好きなWIKI名にします。
Dokuwiki Download Page

qnap@qnap:~/docker/dokuwiki/$ cd html
qnap@qnap:~/docker/dokuwiki/html$ curl -s https://download.dokuwiki.org/out/dokuwiki-a6b3119b5d16cfdee29a855275c5759f.tgz -o dokuwiki-a6b3119b5d16cfdee29a855275c5759f.tgz
qnap@qnap:~/docker/dokuwiki/html$ tar -xf dokuwiki-a6b3119b5d16cfdee29a855275c5759f.tgz
qnap@qnap:~/docker/dokuwiki/html$ mv dokuwiki wiki1
qnap@qnap:~/docker/dokuwiki/html$ cp -r wiki1 wiki2

起動したら

うまく起動してくれたら、後はdokuwikiのinstall.phpをたたけばOk。
http://<serveaddress>:8082/wiki1/install.php
http://<serveaddress>:8082/wiki2/install.php

※もしかしたらパーミッションでなにかエラー出るかも。以下のページなどを参照して適切に処置する。
めんどくさがってchmod 777 -R *とかやって重篤なセキュリティ問題を引き起こしても知らない。
dockerでvolumeをマウントしたときのファイルのowner問題

dokuwikiはwebサーバとphpさえ動いていれば起動させるまでのハードルは低いので、専用イメージを使うよりもこちらのほうが汎用性あるかもしれないかな。
dokuwikiのハードルはむしろ起動後のPluginのInstallかもしれん。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?