Docker Compose 部署达梦数据库

Docker Compose 部署达梦数据库 Docker Compose 部署达梦数据库一、安装前准备软硬件版本要求终端架构X86-64Docker2024 年 4 月版或更高Docker Compose1.29.2 或更高二、获取达梦镜像下载镜像包从达梦官网下载 Docker 镜像包如dm8_20240422_x86_rh6_64_rq_std_8.1.3.100_pack2.tar。导入镜像dockerload-idm8_20240422_x86_rh6_64_rq_std_8.1.3.100_pack2.tar验证镜像dockerimages# 输出示例# REPOSITORY TAG IMAGE ID CREATED SIZE# dm8 latest xxxx ... ...三、编写docker-compose.yml创建文件docker-compose.yml内容如下version:3.8services:dm8:image:dm8:latest# 替换为实际镜像container_name:dm8_test# 容器名称privileged:true# 特权模式restart:always# 自动启动策略network_mode:host# 使用主机网络模式ports:-5236:5236# 默认端口映射volumes:-/home/dmdb/data:/opt/dmdbms/data# 数据持久化-/home/dmdb/log:/opt/dmdbms/log# 日志持久化environment:-LD_LIBRARY_PATH/opt/dmdbms/bin# 库文件路径-INSTANCE_NAMESYSDBA# 实例名称-SYSDBA_PWDRoot12345# 密码 不少于9位-PAGE_SIZE32# 页大小 32KB-EXTENT_SIZE32# 簇大小 32KB-LOG_SIZE2048#日志文件大小 2GB-UNICODE_FLAG1#启用Unicode对应UTF-8-CASE_SENSITIVE0#关闭大小写敏感四、启动容器启动服务docker-composeup-d验证容器状态docker-composeps# 输出示例# NAME COMMAND STATUS PORTS# dm8_test ... Up 0.0.0.0:30236-5236/tcp查看初始化参数dockerinspect dm8_test|grep-A15Env# 输出包含环境变量PAGE_SIZE16, SYSDBA_PWDRoot12345 等五、容器管理命令操作命令启动容器docker-compose start停止容器docker-compose stop重启容器docker-compose restart删除容器docker-compose down六、连接数据库进入容器docker-composeexecdm8_testbash连接达梦数据库./disql SYSDBA/Root12345localhost:5236七、参数说明参数名描述约束PAGE_SIZE页大小可选值4/8/16/32默认 8初始化后不可修改EXTENT_SIZE簇大小可选值16/32/64默认 16初始化后不可修改CASE_SENSITIVE大小写敏感1敏感/0不敏感默认1初始化后不可修改UNICODE_FLAG字符集0GB18030/1UTF-8默认0初始化后不可修改SYSDBA_PWD管理员密码长度 9~48 位不支持特殊字符默认SYSDBA001可修改LOG_SIZE日志文件大小单位 MB默认256可修改BUFFER系统缓存大小单位 MB默认1000可修改八、注意事项密码规则SYSDBA_PWD必须≥9位且仅支持字母、数字。环境变量格式必须使用大写如PAGE_SIZE而非page_size。数据持久化确保宿主机目录/opt/data和/opt/log存在且可写。网络模式默认使用bridge模式端口映射为5236:5236。若需host模式修改配置network_mode:host# 移除 ports 配置九、故障排查容器启动失败查看日志docker-compose logs dm8_test常见原因密码长度不足、目录权限不足。连接超时检查防火墙是否放行30236端口。字符集乱码确保UNICODE_FLAG1UTF-8客户端工具也需统一编码。通过以上步骤即可使用 Docker Compose 完整部署达梦数据库并保留原有docker run参数的全部功能。