Docker Compose 部署达梦数据库
通过以上步骤,即可使用 Docker Compose 完整部署达梦数据库,并保留原有。从达梦官网下载 Docker 镜像包
·
Docker Compose 部署达梦数据库
一、安装前准备
| 软硬件 | 版本要求 |
|---|---|
| 终端架构 | X86-64 |
| Docker | 2024 年 4 月版或更高 |
| Docker Compose | 1.29.2 或更高 |
二、获取达梦镜像
-
下载镜像包
从达梦官网下载 Docker 镜像包(如dm8_20240422_x86_rh6_64_rq_std_8.1.3.100_pack2.tar)。 -
导入镜像
docker load -i dm8_20240422_x86_rh6_64_rq_std_8.1.3.100_pack2.tar验证镜像:
docker images # 输出示例 # REPOSITORY TAG IMAGE ID CREATED SIZE # dm8 latest xxxx ... ...
三、编写 docker-compose.yml
创建文件 docker-compose.yml,内容如下:
version: '3.8'
services:
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_NAME=SYSDBA # 实例名称
- SYSDBA_PWD=Root12345 # 密码 (不少于9位)
- PAGE_SIZE=32 # 页大小 32KB
- EXTENT_SIZE=32 # 簇大小 32KB
- LOG_SIZE=2048 #日志文件大小 2GB
- UNICODE_FLAG=1 #启用Unicode(对应UTF-8)
- CASE_SENSITIVE=0 #关闭大小写敏感
四、启动容器
-
启动服务
docker-compose up -d -
验证容器状态
docker-compose ps # 输出示例 # NAME COMMAND STATUS PORTS # dm8_test ... Up 0.0.0.0:30236->5236/tcp -
查看初始化参数
docker inspect dm8_test | grep -A 15 "Env" # 输出包含环境变量:PAGE_SIZE=16, SYSDBA_PWD=Root12345 等
五、容器管理命令
| 操作 | 命令 |
|---|---|
| 启动容器 | docker-compose start |
| 停止容器 | docker-compose stop |
| 重启容器 | docker-compose restart |
| 删除容器 | docker-compose down |
六、连接数据库
-
进入容器
docker-compose exec dm8_test bash -
连接达梦数据库
./disql SYSDBA/Root12345@localhost:5236
七、参数说明
| 参数名 | 描述 | 约束 |
|---|---|---|
| PAGE_SIZE | 页大小,可选值:4/8/16/32(默认 8) | 初始化后不可修改 |
| EXTENT_SIZE | 簇大小,可选值:16/32/64(默认 16) | 初始化后不可修改 |
| CASE_SENSITIVE | 大小写敏感:1(敏感)/0(不敏感,默认 1) |
初始化后不可修改 |
| UNICODE_FLAG | 字符集:0(GB18030)/1(UTF-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_FLAG=1(UTF-8),客户端工具也需统一编码。
- 确保
通过以上步骤,即可使用 Docker Compose 完整部署达梦数据库,并保留原有 docker run 参数的全部功能。
更多推荐
所有评论(0)