我计划将工件从6.7.5升级到6.8.1。作为升级的一部分,我在github上检查了jfrog的仓库,看来他们有一个新的推荐的nginx和postgres版本。
当前的docker-compose使用的是postgres 9.5,而新的默认版本是9.6。但是简单地拉下postgres 9.6并不能进行就地升级。
FATAL:数据库文件与服务器不兼容详细信息:数据 目录是由PostgreSQL 9.5版初始化的,该版本不是 与此版本9.6.11兼容。
升级说明中没有提及有关升级的任何内容。
答案 0 :(得分:1)
github(https://github.com/jfrog/artifactory-docker-examples)中提供的示例只是示例。 在生产中使用它们可能会导致问题,并且不能保证向后兼容。
要在升级时解决PostgreSQL问题,我建议:
此后应升级Artifactory,但是它将继续使用旧版本的PostgreSQL DB
答案 1 :(得分:0)
我已经可以使用以下方法升级数据库:
mv -fv /data/postgresql /data/postgresql.old
mkdir -p /data/postgresql
chown --reference=/data/postgresql.old /data/postgresql
chmod --reference=/data/postgresql.old /data/postgresql
postgres something
--version
启动,则在设置新数据库时启动时会处理SQL脚本。我们只是不需要让服务器随后运行,所以我提供了docker-compose -f artifactory-pro.yml run --rm --no-deps -e POSTGRES_DB=postgres -e POSTGRES_USER=root -v sql_dump_volume:/docker-entrypoint-initdb.d postgresql postgres --version
来使入口点执行,导入数据并退出:docker-compose -f artifactory-pro.yml up -d
完成所有这些操作后,我能够使用
正常启动Artifactory,并且正常启动,并像往常一样应用其余的架构和文件升级过程。
我还准备了a script,基本上可以完成上述步骤以及一些附加的检查和清理。如果发现有用,请随时使用。