docker-compose で建てた CodiMD(HackMD) を 1.2.0 から 1.3.1 に更新する

DB のバックアップをしてコンテナを削除する

最初に構築したディレクトリ(docker-compose.yml があるところ)に移動して PostgreSQL のバックアップを取得しておきます。

データはホストに残っていますが、念のため実行しておきます。

$ cd docker-hackmd
$ sudo docker-compose exec database pg_dump hackmd -U hackmd  > backup.sql
$ sudo docker-compose down
Stopping docker-hackmd_app_1      ... done
Stopping docker-hackmd_database_1 ... done
Removing docker-hackmd_app_1      ... done
Removing docker-hackmd_database_1 ... done
Removing network docker-hackmd_backend

docker-compose.yml を編集する

services - app - image と辿って "hackmdio/hackmd:1.2.0" となっている部分を "hackmdio/hackmd:1.3.1" に変更します。

### 略 ###
services:
  ### 略 ###
  app:
    ### 略 ###
    image: hackmdio/hackmd:1.3.1
### 略 ###

新バージョンの image を取得する

この手順は飛ばしても次の手順で自動で拾ってきます。

$ sudo docker-compose pull
Pulling database ... done
Pulling app      ... done

新バージョンでコンテナを作成して立ち上げる

$ sudo docker-compose up -d
Creating network "docker-hackmd_backend" with the default driver
Creating docker-hackmd_database_1 ... done
Creating docker-hackmd_app_1      ... done

以上で完了です。
データもそのまま残っているはずですが、バックアップからリストアするなら次を実行します。

$ cat backup.sql | sudo docker exec -i $(docker-compose ps -q database) psql -U hackmd