portainer 1.24.1 to 2.1.1 update してみました

アップデートは突然に

自分の所では、CentOS 7 + Docker + portainer で運用しているのですが、portainer が 1.24.1 から 2系へとアップデートしました。正直、何が変わったのかチェックしていないのですが(笑)、とりあえずアップデートしてみようと思います。

このアップデートに関して、日本語の情報がほぼなかったので有用かなと思いまして。

ざっくりいうとデストロイ&ダウンロード

簡単に流れを説明しますね

  1. 元のデータを念の為バックアップ
  2. docker で portainer を stop して rm する
  3. docker run で portainer-ce をオプション付きで起動する (コンテナは自動でダウンロードされる)
  4. docker start portainer で起動する
  5. 管理画面からログインしてデータを確認

こんな感じです。 portainer のデータは別のディレクトリに保存されているので、Docker 上で動作している portainer を削除してインストールし直せば、自動的に元のデータを参照するのでアップデートが完了するという訳です。

それでも rm するのは怖いですけれどね。

古いバージョンを削除する

まず既存の portainer を確認します。

[email protected]~/# docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED       STATUS                 PORTS                                                NAMES
459c42ea74e8   portainer/portainer         "/portainer"             2 weeks ago   Up 2 weeks             0.0.0.0:9000->9000/tcp                               portainer

[email protected]~/# tar zcvf ~/portainer_data.tar.gz /var/lib/docker/volumes/portainer_data

自分は、/var/lib/docker/volumes/portainer_data 以下にデータを保存していたので、まずはこれをバックアップして後々何かあった時には、1.24.1 に戻せるようにします。

[email protected]~/# docker stop 459c42ea74e8
459c42ea74e8

[email protected]~/# docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED       STATUS                 PORTS                                                NAMES

[email protected]~/# docker rm 459c42ea74e8
459c42ea74e8

ちょいとはしょりますが docker で 459c42ea74e8 という CONTAINER ID で動作していたので、これを停止して ps 上に残らなくなったら、容赦なくrm します。これで、1.24.1 は消えました。

新しいバージョンをインストールする

消えたので、今度は新バージョンのインストールを行います。注意するのは、データの参照パスを間違えない事です。

[email protected]~/# docker run -d -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

Unable to find image 'portainer/portainer-ce:latest' locally
latest: Pulling from portainer/portainer-ce
94cfa856b2b1: Pull complete
49d59ee0881a: Pull complete
527b866940d5: Pull complete
Digest: sha256:5064d8414091c175c55ef6f8744da1210819388c2136273b4607a629b7d93358
Status: Downloaded newer image for portainer/portainer-ce:latest
aa74378ccfdcff7732646a56923063f9233db4fef0eeb2f1f80b18da9e6e914e

portainer/portainer-ce をインストールする事、そして、portainer_data:/data というオプションを付け忘れると痛い目に合います。この後者のパスは先程バックアップしたパスと同一にしてください。起動名は –name portainer と1.24.1 と同一にしています。

[email protected]~/# docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS                 PORTS                                                NAMES
aa74378ccfdc   portainer/portainer-ce      "/portainer"             23 seconds ago   Up 23 seconds          8000/tcp, 0.0.0.0:9000->9000/tcp                     portainer

[email protected]~/# docker start portainer
portainer

インストールが完了したので、そのまま起動します。(というかdocker run したので起動していますね、たぶん)

最終確認

ログインした所、既存のデータも残ったまま 2.1.1 にアップデートできました。とても簡単ですね。簡単にアップデートできるのも Docker の良い所だと思います。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください