前提と注意事項
この記事では以下を前提としています。
- アップデート前の Portainer 1.15.2
- Portainer は Ubuntu22.04 上で動いているものです。
- Portainer は Docker 版です。
- この記事に Portainer そのもの自体の説明はありません。
この記事のゴール
記事公開時点で最新版である Portainer 2.19.2 にアップデートすることをゴールとします。 アップデートすると以下のように Portainer の Web 管理画面でバージョンを確認できます。
この記事の手順は、Portainer の公式ドキュメントに記載されている手順に従っています。
Portainer のバックアップを取る
まずはじめに既存の Portainer のバックアップを取得します。不要な方は飛ばしてください。
バックアップといっても、今回は一番簡単なローカルへバックアップファイルをダウンロードするだけになります。
以下のように Portainer の Web 管理画面のSettings
メニューをクリックしてページを開き、その中にあるDownload backup
をクリックします。
Download backup
をクリックするとportainer-backup_2023-11-10_14-50-00.tar.gz
のようなファイルがダウンロードされます。
この中には、Portainer の設定やユーザー情報などが含まれています。また、作成した Stack のdocker-compose.yml
も含まれています。
なお、Amazon S3 へのバックアップ方法やバックアップファイルからの復元方法については、以下の記事を参考にしてください。
Backup Portainer
This setting contains all of the information that Portainer stores on the /data volume, archived in a tar.gz file, and is optionally encrypted with a password. This archive is all you need to restore Portainer.
docs.portainer.io
Portainer を最新版にアップデートする
公式ドキュメントに従って、まずは動作中の Portainer を以下で停止します。
各環境に応じてsudo
の有無を確認してください。ここではつけます。
$ sudo docker stop portainer
続いて既存の Portainer の Docker コンテナを削除します。なお、この削除によって Portainer で作成した Stack やコンテナはもちろん削除、停止もされません。
$ sudo docker rm portainer
実行するとportainer
と表示されるだけになります。
$ sudo docker rm portainer
portainer
次に最新版の Portainer をダウンロードします。
$ docker pull portainer/portainer-ce:latest
以下がdocker pull
の実行結果です。
$ sudo docker pull portainer/portainer-ce:latest
latest: Pulling from portainer/portainer-ce
c633478e727b: Pull complete
7c9903ac7594: Pull complete
5171176db7f2: Pull complete
52e9438966a5: Pull complete
43d4775415ac: Pull complete
c1cad9f5200f: Pull complete
a1e725cf03e6: Pull complete
933f8dbe1f7f: Pull complete
6ea1be5d2491: Pull complete
1d61df6683a9: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:52f514125b5ae0948debc8f501d77ac621a2605e8e28309c72c9d6bb0eb2b2b2
Status: Downloaded newer image for portainer/portainer-ce:latest
docker.io/portainer/portainer-ce:latest
ダウンロードが完了したら、以下で Portainer を起動します。
$ sudo docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
上記で指定しているポート番号やデータ用のパスはデフォルトのものです。もし別のポート、パスを使用している場合は置き換えてください。
以下が実行結果です。
$ sudo docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
719ca1aca2026b23eb9acf75784f0716f8cf79edf0df5d20dda6bb372c38b939
アップデートの確認
Portainer の Web 管理画面にログインして、以下のようにサイドメニューの下の方に表示されているバージョンが最新であれば問題なくアップデートできています。
まとめ
Portainer も他の Docker コンテナ同様に簡単にアップデートできます。アップデートせずにそのままになっている場合はぜひ最新版にアップデートしてみてください。