sameersbn/gitlab目前已经升级至18.0,从17升至18需要升级postgresql,我原来的版本是14,需要升级到16,当然不升也能用,但是会有提示让你升级到16.试过直接更换docker postgresql版本为16,会报错,以下方法适用于任何版本的postgresql升级。

第一步先开一个16的docker容器
docker run -v 你的postgresql16的目录(空目录即可):/var/lib/postgresql:Z --restart always -e DB_USER=用户名 -e DB_PASS=密码 -e DB_NAME=数据库名称 -e DB_EXTENSION=pg_trgm,btree_gist kkimurak/sameersbn-postgresql:16

第二步创建postgresql14容器,映射目录指向14的数据目录
docker run -v 你的postgresql14的目录:/var/lib/postgresql:Z --restart always -e DB_USER=用户名 -e DB_PASS=密码 -e DB_NAME=数据库名称 -e DB_EXTENSION=pg_trgm,btree_gist  sameersbn/postgresql:14

第三步备份原来的14数据库成sql语句
docker exec -e PGPASSWORD=密码 -t postgresql14的容器名 pg_dump -U 用户名 -d 数据库名称 > backup.sql

第四步把14备份出来的sql导入16的容器
docker cp backup.sql postgresql16的容器名/backup.sql

第五步执行恢复数据
docker exec -e PGPASSWORD=密码 -i postgresql16的容器名 psql -U 用户名 -d 数据库名称 -f /backup.sql

最后docker compose gitlab就可以使用新生成的16数据开启容器了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注