Edited at

DockerでWekanを試す時に注意すべきこと

More than 1 year has passed since last update.


Wekanはシンプルで使いやすそう?

Wekanの記事を見て使ってみよう、という気分になったので、以下のページを参考に立ててみました。

Install Wekan Docker for testing

でもConnection Refusedで応答しない。

docker logsとかでログを見る限り正常に動作してるっぽい。

・・・実はポート80番ではなく8080番で受け付けていたようです。

確かにdockerfileを見てみると8080番しか開いていませんでした。

以下の記事で気づきました。ありがとうございます。

Wekan を Docker で起動しようとしても起動しない(アクセスできない)場合 - 約束の地


実行環境


  • OS: Ubuntu 18.04.1 LTS

  • Wekan: たぶんv1.34(実際にはlatestを使用しているため)


修正後

というわけで、修正したdocker-compose.yamlです。(外部のポートは80番で公開するようにしているので必要に応じて変更してください。)

localhostの部分はホスト名に書き換えておかないと外からアクセスした際に一部が動作しません。


docker-compose.yaml

version: '2'

services:
wekan:
image: wekanteam/wekan:latest
links:
- wekandb
environment:
- MONGO_URL=mongodb://wekandb/wekan
- ROOT_URL=http://localhost:80
ports:
- 80:8080

wekandb:
image: mongo:3.2.14
volumes:
- ./data:/data/db


dockerを最近あまり使ってなかったからはまってしまった。


ちなみに(ポート番号の確認と確信した理由)

どのポートがあいているかは docker psPORTSで確認が可能なので、こちらを参考にするといいと思います。


修正前

CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS                          NAMES

5c0a9197a856 wekanteam/wekan:latest "node /build/main.js" 6 seconds ago Up 5 seconds 0.0.0.0:80->80/tcp, 8080/tcp wekan_wekan_1
b2c28e9122c9 mongo:3.2.14 "docker-entrypoint.s…" 32 minutes ago Up 2 minutes 27017/tcp wekan_wekandb_1


  • なにやら8080/tcpというポートが内部ネットワーク向けに開いているけど、外部には公開されていないよ?


    • 8080が実際の受付ポートでした。



  • じゃあ、0.0.0.0:80->80/tcpは?


    • docker-compose.yamlで指定されている公開ポートで、内部では実は開いていませんでした。



  • MongoDBは外部に公開しないため、27017/tcpだけで問題ありません。


修正後

CONTAINER ID        IMAGE                    COMMAND                  CREATED              STATUS              PORTS                  NAMES

0e25b88cdb31 wekanteam/wekan:latest "node /build/main.js" About a minute ago Up About a minute 0.0.0.0:80->8080/tcp wekan_wekan_1
b2c28e9122c9 mongo:3.2.14 "docker-entrypoint.s…" 31 minutes ago Up About a minute 27017/tcp wekan_wekandb_1


これから

RedmineでToDo管理をやっているのですが、正直ドロップダウンの選択やチケット作成やステータス変更とかが面倒で・・・。

これが代替にならないか試してみようと思ってます。

記録としては汎用性に乏しい感じになりそうだけど、続けるほうがもっと大事なので。