移行編に続き、QNAPでもやっていたMRTGをコンテナで動かしてみようと思います。
Dockerアプリ
DXP2800ではコンテナを動かすためにはDockerアプリをインストールします。コンテナの動かし方はQNAP TS-230とほぼ同じです。ただ、TS-230はARMアーキテクチャなのでsk278/rpi-mrtgを使っていたのですが、今回はfboaventura/dckr-mrtgにしてみました。
ついでに前回は手組でコンテナを作ったのですが、今回はDocker-Composeを使って作ってみました。Docker Hubサイトにdocker-composeの記載があるのでほぼそのまま使えます。
---
services:
mrtg:
image: fboaventura/dckr-mrtg:latest
hostname: mrtg
restart: always
ports:
- "8880:80"
volumes:
- "./conf.d:/etc/mrtg/conf.d"
- "./html:/mrtg/html"
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
environment:
TZ: "Asia/Tokyo"
HOSTS: "コミュニティ名:ルーターIP"
WEBDIR: "/mrtg/html"
USERID: 1000
GROUPID: 1000
REGENERATEHTML: "yes"
INDEXMAKEROPTIONS: "--section=descr"
CFGMAKEROPTIONS: ""
MRTG_COLUMNS: 2
tmpfs:
- "/run"
こんな感じで、プロジェクトからcomposeを張り付けて今すぐデプロイ!
これで、http://DXP2800のIP:8880/ でMRTGが立ち上がります。
コンフィグはDockerアプリをインストールすると共有フォルダにdockerフォルダができるのでその中のmrtg/conf.d/にルータIP.cfgができています。これを使うもよし自分でいじったcfgを使うもよし。*.cfgファイルを読んでくれるので、ここに自分で作ったhoge.cfgを置けばOKです。ただし、ルーターIP.cfgはないと勝手に作られちゃうのでダミーでも置いとく必要があります。データはmrtg/htmlに吐き出されます。
はい。動きました。簡単ですね(笑)
こんな感じです。
蛇足
原因がいまいちはっきりしないのですが、どうやっても403 Forbidnになってしまう現象が発生しました。やったことを書くともともと一般ユーザーだったユーザーを管理者に格上げしてそのユーザーでdockerを操作したらなぜか、MRTGのグラフが表示されず、403 Forbidnになってしまいました。ファイルパーミションは実は全部、777で作られるようで、実際の権限管理は別途やってるみたいですね。ただ、ユーザーは確かにUNIX的に別のユーザーなので何等か想定しない操作をしてしまったんだと思います。結局、コンテナを作り直したら戻りました。ファイルは元のコンテナからコピーすればOKでした。
「QNAP TS-230 to UGREEN DXP2800 コンテナ編」への1件のフィードバック