UGREEN NAS DXP4800GT買った(3)munin-nodeをDocerで(debian)2

 テストでDXP4800GTにMunin-nodeをインストールしたが、どうも他の人がつくったイメージは不安がある・・・・・。自分でメンテできるのかという問題はあるが、Dockerの勉強も兼ねて。

前回はMunin-nodeにdennistt/munin-nodeを使ったが、1年前のイメージだったりです。他のイメージに至っては7年とかそれ以上前ちゃんと管理されているのか心配なので、今回はDebianの下地にインストールして使う方法を検討。

ただ、UGOSのDockerからはインストールできなさそうなので、SSHで接続してインストールする。

SSHが標準ではONになっていたいのでONに変更。SSH開けたままにしていると危ないから自動でOFFになるとこのこと。なるほど

それでは作業を始める

Dockerの準備

「UGOS」のDocker上で、Debian stable-slimをインストール、Dockerで「debian」を検索ダウンロードを選択するとバージョン番号を選択できるので stable-slimを選択しインストール。

NAS上の適当な場所に取りあえず、ディレクトリを切る。例 /volume1/docker/munin-node/

Dockerfile と docker-compose.yml を作成します。

Dockerfile は

FROM debian:stable-slim
RUN apt-get update \
 && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
      munin-node munin-plugins-core munin-plugins-extra \
      procps iproute2 net-tools \
 && rm -rf /var/lib/apt/lists/* \
 && mkdir -p /run/munin /var/log/munin /var/lib/munin-node/plugin-state
# 不要プラグイン(irqstatsの警告対策)
RUN rm -f /etc/munin/plugins/irqstats /etc/munin/plugins/interrupts
# 設定: フォアグラウンド動作、ログは標準出力、接続許可
RUN sed -i 's/^background .*/background 0/' /etc/munin/munin-node.conf \
 && sed -i 's/^setsid .*/setsid 0/' /etc/munin/munin-node.conf \
 && sed -i 's#^log_file .*#log_file /dev/stdout#' /etc/munin/munin-node.conf \
 && sed -i 's/^host .*/host 0.0.0.0/' /etc/munin/munin-node.conf \
 && printf '%s\n' \
      'host_name nas-ugos' \
      'cidr_allow 192.168.0.0/24' \
      >> /etc/munin/munin-node.conf
EXPOSE 4949
CMD ["munin-node"]

192.168.0.0のネットワークからアクセス可能にしてipV4だけで、ipV6を無効化しています。

docker-compose.yml は

services:
  munin-node:
    build: .
    container_name: munin-node
    network_mode: host
    pid: host
    restart: unless-stopped
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /etc/localtime:/etc/localtime:ro
      - /volume1:/volume1:ro

です。

準備ができたら

以下で実行
cd /volume1/docker/munin-node
docker compose build --pull --no-cache
docker compose up -d
docker logs --tail 20 munin-node

Muninのサーバーから接続はいつもの

 


コメント