更新Docker容器

使用 Docker 安装了 Redmine 之后,已经过了很久了,这几天在维护服务器时,发现 Redmine 的版本也升级了。
就想着也升级一下容器吧。

先说下大体思路:

  • 升级 Docker Image
  • 关闭就容器,并删除之
  • 重新开启新的容器,这样才能使用新的代码
  • 升级数据库

升级 Docker Image

升级Image很简单,只要从服务器拉下来最新的数据就行了

docker pull quay.io/sameersbn/redmine:latest

关闭就容器,并删除之

到工作目录 /data, 使用 docker-compose 来关闭级容器

cd /data
docker-compose stop
docker rm data_redmine_1

重新开启新的容器,这样才能使用新的代码

因为代码升级,新增加了些环境参数的配置

REDMINE_SECRET_TOKEN
DB_NAME

这两个一个是log提示我的,另一个发现服务升级完后,旧用户登录不了了,查了原因才知道是因为数据库名称的默认值变了。
可能受影响的还有其他不少参数,需要在详情页仔细看看。

docker-compose start

升级数据库

docker exec -it data_redmine_1 bash
cd $WORKDIR
RAILS_ENV=production bundle exec rake db:migrate