docker安装mogdb后不能启动
mogdb在RHEL(含OL,CENTOS)上,仅支持RHEL7,不支持RHEL8,9. 要在RHEL8,9 上测试MOGDB,唯一方法是用docker. 当然RHEL7也可以用docker.
参考文档
https://docs.mogdb.io/zh/mogdb/v5.0/docker-installation
故障现象
[root@RHEL7_DB ~]# docker run --name mogdb5 --privileged=true -d -e GS_PASSWORD=Welcome1 -v /opt/mogdb:/var/lib/mogdb -p 15432:5432 swr.cn-north-4.myhuaweicloud.com/mogdb/mogdb:5.0.0
e461cac7df8144d5d7cfd1f055b22465ec8ffe89e7b6130a46fe120db2585026
[root@RHEL7_DB ~]# docker exec -it mogdb5 bash
Error response from daemon: container e461cac7df8144d5d7cfd1f055b22465ec8ffe89e7b6130a46fe120db2585026 is not running
[root@RHEL7_DB ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@RHEL7_DB ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
e461cac7df81 swr.cn-north-4.myhuaweicloud.com/mogdb/mogdb:5.0.0 "/usr/local/bin/entr…" 38 seconds ago Exited (1) 37 seconds ago mogdb5
[root@RHEL7_DB ~]# docker start mogdb5
mogdb5
[root@RHEL7_DB ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@RHEL7_DB ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
e461cac7df81 swr.cn-north-4.myhuaweicloud.com/mogdb/mogdb:5.0.0 "/usr/local/bin/entr…" 54 seconds ago Exited (1) 5 seconds ago mogdb5
可以看到, docker创建后不在运行,缺省应该自动运行.
尝试手动启动 docker start mogdb5. 也是启动几秒后即停止.
分析
查看日志
[root@RHEL7_DB /]# docker logs d35d735b9589
Error: The supplied GS_PASSWORD is not meet requirements.
Please Check if the password contains uppercase, lowercase, numbers, special characters, and password length(8).
At least one uppercase, lowercase, numeric, special character.
Example: Enmo@123
提示, GS_PASSWORD不符合要求.
解决 密码使用大小写数字和特殊字符
[root@RHEL7_DB /]# docker run --name mogdb5 --privileged=true -d -e GS_PASSWORD=Welcome1! -v /opt/mogdb:/var/lib/mogdb -p 15432:5432 swr.cn-north-4.myhuaweicloud.com/mogdb/mogdb:5.0.0
16c7a2952bd0e843582b7f3350c03d83240fc7a5b4f2c16e8a72bd04d67ac2ef
[root@RHEL7_DB /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
16c7a2952bd0 swr.cn-north-4.myhuaweicloud.com/mogdb/mogdb:5.0.0 "/usr/local/bin/entr…" 3 seconds ago Up 2 seconds 0.0.0.0:15432->5432/tcp, :::15432->5432/tcp mogdb5
===> docker运行正常.
[root@RHEL7_DB /]# docker logs 16c7a2952bd0
Message: The supplied GS_PASSWORD is meet requirements.
The files belonging to this database system will be owned by user "omm".
This user must also own the server process.
从日志看启动正常.