暂无图片
opengauss docker版搭建无法运行起来
我来答
分享
手机用户5127
2022-07-15
opengauss docker版搭建无法运行起来

今天想搭建opengauss,由于数据库对软件系统限制太死,所以选择了docker版本;

我试了latest版本和3.0.0版本;但两种版本镜像下载后,在执行时,总是遇到在通过外部数据库ide连接时候docker容器里服务挂掉,拉出来日志看是这样的:

[2022-07-15 08:48:43.955][179][][gs_ctl]: done
[2022-07-15 08:48:43.955][179][][gs_ctl]: server started (/var/lib/opengauss/data)
GS_DB = omm
Execute SQL: gsql -v ON_ERROR_STOP=1 --username omm --password Xhhk##78 --dbname postgres --set db=omm --set passwd=Xhhk##78
CREATE DATABASE
NOTICE: The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
ALTER ROLE

Execute SQL: gsql -v ON_ERROR_STOP=1 --username omm --password Xhhk##78 --dbname postgres --set db=omm --set passwd=Xhhk##78 --set user=gaussdb
ERROR: role "gaussdb" already exists

请问有人遇到过这种问题吗?有解决方案吗?不胜感激!


我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
DarkAthena

这一段日志里没有导致数据库服务挂掉的异常,只是提示创建用户的时候失败,因为这个用户已经存在,而这并不会引起数据库挂掉。

但正常来说,如果一个容器已经启动了,之后再重启这个容器,它是不会再创建用户的,请检查一下你配置的数据映射路径是否在创建一个新容器之前,已经存在数据了

image.png

暂无图片 评论
暂无图片 有用 0
手机用户5127
题主
2022-07-18
谢谢你的解答; 我之前的命令是sudo docker run --name opengauss --privileged=true -d -e GS_USERNAME=gaussdb -e GS_PASSWORD=Enmo@123 -p 15432:5432 enmotech/opengauss:3.0.0; 请问下执行这个命令默认的持久化地址是?我在文档中实在没有找到。(https://hub.docker.com/r/enmotech/opengauss) 之后我重新用命令sudo docker run --name opengauss --privileged=true -d -e GS_USERNAME=gaussdb -e GS_PASSWORD=Enmo@123 -v /enmotech/opengauss:/var/lib/opengaus -p 15432:5432 enmotech/opengauss:3.0.0 指定了新的持久化地址,但是还是报这个错误;是否是因为这个持久化地址和你说的配置的数据映射路径不是一个变量?
手机用户5127
题主
2022-07-18
因为一直没有连接上,容器挂掉了,我每次启动容器,都是删掉之前的,由镜像重新启动一个,这个可能是你说的一直创建用户的原因
手机用户5127
题主
2022-07-18
跑起来了,我从3.0.0镜像换成latest最新版镜像,指定持久化路径,再次执行,没有这个报错了,谢谢
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏