docker 本地装瀚高 4.5 数据库

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

关键参数说明:

  1. 挂载路径说明
    • 将容器内的挂载点改为了 /home/highgo/hgdb/data
    • 注意 :请务必挂载到 .../data 子目录,而不是直接挂载到 /home/highgo/hgdb。因为二进制文件(包括之前找不到的 psql 命令)通常就在 hgdb 目录下,如果直接挂载根目录,宿主机的空文件夹会"覆盖"掉容器里的程序文件,导致容器无法启动或找不到命令。
  2. POSTGRES_PASSWORD="Hello@1234"
    • 这是设置的 sysdba 用户的初始密码。容器首次启动并初始化数据库时会生效。
  3. POSTGRES_INITDB_ARGS
    • -A md5:指定默认的认证方式。
    • -e sm4 -c 'echo 12345678':这是瀚高安全版特有的存储加密 配置,使用了国密 SM4 算法,12345678 是加密密钥(必须为 8 位或 16 位)。
  4. POSTGRES_HOST_AUTH_METHOD="md5"
    • 强制开启密码校验。这意味着之后从 DBeaver 或 Navicat 连接时,必须输入上面设置的密码。

启动后的操作建议:

  • 首次初始化较慢:因为涉及到国密初始化和权限分配,容器启动后可能需要等待 10-20 秒才能正常连接。
  • 连接测试 : 由于在启动命令里已经通过环境变量设置了密码,现在可以直接在外部工具(如 DBeaver)里连接:
    • 主机localhost
    • 端口5866
    • 用户sysdba
    • 密码Hello@1234

参考资料

https://hub.docker.com/r/qiuchenjun/hgdb-see

相关推荐
倔强的石头_9 小时前
《Kingbase护城河》——猎捕慢查询:执行计划的微观解析与索引调优实战
数据库
SelectDB11 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
jiayou642 天前
KingbaseES 表级与列级加密完全指南
数据库·后端
lichenyang4532 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4532 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4532 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4532 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
GBASE2 天前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr3 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
吃糖的小孩4 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库