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