Amazonのアソシエイトとして、ラズパイダ(raspida.com)は適格販売により収入を得ています。詳しくは当サイトの プライバシーポリシーをご覧ください。

少し中途半端な内容ですが、dockerで構築したpiholeのアップデート顛末を残しておきます。

ラズパイのRaspberry Pi OS 上にネイティブでインストールした場合は、pihole -upで済むのですが、Docker上だとダメです。公式からも推奨されていません。というか、docker外からは出来ませんよね。

アップグレード(pihole -up)や再設定(pihole -r)を試みないでください。…

https://github.com/pi-hole/docker-pi-hole/tree/2023.03.1

以下、新たに書き直しました。(2025/08/26)

■Pi 5は8GBモデルがオススメ

バージョンアップ手順

SSHでRaspberry Piにログインします。Dockerで構築したディレクトリに移動し次のコマンド実行するだけです。

はじめに最新のバージョンをダウンロードする。

docker pull pihole/pihole

次は、docker composeコマンドで設定してある通りにコンテナを停止(down)すれば、コンテナとネットワークが削除され再度作成されます。

docker compose -f pihole.yaml -p pihole down
docker compose -f pihole.yaml -p pihole up -d
[+] Running 2/2
 ✔ Container pihole        Removed    4.8s
 ✔ Network pihole_default  Removed    0.4s

[+] Running 2/2
 ✔ Network pihole_default  Created    0.2s
 ✔ Container pihole        Started    0.9s

※logのディレクトリをバインドマウント(ボリュームマッピング)していないと、ログは残りません。

ログは残していない設定でもバージョンは上がっており成功します。

ちなみに動いているコンテナの一覧を表示するコマンドで確認してみよう。

docker ps -a

dockerで構築したpiholeをアップデートした方法

dockerが動いているRaspberry PiにSSHでログインして次の順番で実行した。

docker pull pihole/pihole
docker compose -f pihole.yaml -p pihole down
docker compose -f pihole.yaml -p pihole up -d

但し、.yamlの中に、container_name: piholeと名前を付けているため、異なる場合は置き換えてください。名前は設定しておいた方がややこしくなりません。

使っていないイメージファイルの削除は気が付いたらやっています。Tagがないイメージは削除されるので気を付けてください。

docker image prune

Dockerは便利だけど非エンジニアには複雑だ。