1. 拉取瀚高 4.5 镜像
首先,打开终端并拉取该镜像:
Bash
docker pull qiuchenjun/hgdb-see:4.5.10.3
注: 镜像大小约为 600MB。如果在国内拉取速度较慢,建议提前为 Docker 配置好国内镜像加速器。
2. 创建数据持久化目录
打开终端,执行以下命令创建指定的目录,并赋予相应的读写权限,以防止容器内部因权限不足导致初始化失败:
Bash
mkdir -p /Users/boom_hao/Desktop/s/highgo/data
chmod 777 /Users/boom_hao/Desktop/s/highgo/data
3.启动
docker run -dit \
--name highgo-4.5 \
--privileged=true \
-p 5866:5866 \
-v /Users/boom_hao/Desktop/s/highgo/data:/home/highgo/hgdb/data \
-e TZ="Asia/Shanghai" \
-e LANG="en_US.utf8" \
-e POSTGRES_HOST_AUTH_METHOD="md5" \
-e POSTGRES_PASSWORD="Hello@1234" \
-e POSTGRES_INITDB_ARGS="-A md5 -e sm4 -c 'echo 12345678' -E 'UTF8'" \
qiuchenjun/hgdb-see:4.5.10.3
关键参数说明:
- 挂载路径说明 :
- 将容器内的挂载点改为了
/home/highgo/hgdb/data。 - 注意 :请务必挂载到
.../data子目录,而不是直接挂载到/home/highgo/hgdb。因为二进制文件(包括之前找不到的psql命令)通常就在hgdb目录下,如果直接挂载根目录,宿主机的空文件夹会"覆盖"掉容器里的程序文件,导致容器无法启动或找不到命令。
- 将容器内的挂载点改为了
- POSTGRES_PASSWORD="Hello@1234" :
- 这是设置的
sysdba用户的初始密码。容器首次启动并初始化数据库时会生效。
- 这是设置的
- POSTGRES_INITDB_ARGS :
-A md5:指定默认的认证方式。-e sm4 -c 'echo 12345678':这是瀚高安全版特有的存储加密 配置,使用了国密 SM4 算法,12345678是加密密钥(必须为 8 位或 16 位)。
- POSTGRES_HOST_AUTH_METHOD="md5" :
- 强制开启密码校验。这意味着之后从 DBeaver 或 Navicat 连接时,必须输入上面设置的密码。
启动后的操作建议:
- 首次初始化较慢:因为涉及到国密初始化和权限分配,容器启动后可能需要等待 10-20 秒才能正常连接。
- 连接测试 : 由于在启动命令里已经通过环境变量设置了密码,现在可以直接在外部工具(如 DBeaver)里连接:
- 主机 :
localhost - 端口 :
5866 - 用户 :
sysdba - 密码 :
Hello@1234
- 主机 :