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

相关推荐
瀚高PG实验室28 分钟前
瀚高企业版V9.1.1在pg_restore还原备份文件时提示extract函数语法问题
数据库·瀚高数据库
TDengine (老段)39 分钟前
TDengine Tag 设计哲学与 Schema 变更机制
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
YOU OU2 小时前
Spring IoC&DI
java·数据库·spring
CodeMartain2 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器
Muscleheng3 小时前
Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错
数据库·postgresql
罗超驿3 小时前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
万里侯3 小时前
云原生数据备份与恢复:保障数据安全的最佳实践
微服务·容器·k8s
jran-3 小时前
Redis 命令
数据库·redis·缓存
llrraa20104 小时前
配置docker国内镜像源
运维·docker·容器
小江的记录本4 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven