docker 安装达梦8

背景

X86-64架构使用Docker安装dm8_20240422_x86_rh6_64_rq_std_8.1.3.100_pack2.tar

1.下载Docker安装包

达梦官网下载dm8_20240422_x86_rh6_64_rq_std_8.1.3.100_pack2.tar安装包

快速下载通道: 达梦镜像包

2.将安装包上传至服务器,并加载镜像

拷贝安装包到 /opt 目录下,执行以下命令导入安装包:

复制代码
docker load -i dm8_20240422_x86_rh6_64_rq_std_8.1.3.100_pack2.tar

检验是否导入成功

复制代码
docker images

3.启动数据库容器

bash 复制代码
docker run -d -p 5236:5236 --restart=always --name=dm8_test --privileged=true -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e PAGE_SIZE=16 -e EXTENT_SIZE=32 -e LOG_SIZE=1024 -e UNICODE_FLAG=1 -e LENGTH_IN_CHAR=1 -e INSTANCE_NAME=dm8_test -v /opt/data:/opt/dmdbms/data dm8:dm8_20240613_rev229704_x86_rh6_64 

容器运行相关参数说明:

参数名 参数描述
-d -detach 的简写,在后台运行容器,并且打印容器 id。
-p 指定容器端口映射,比如 -p 30236:5236 是将容器里数据库的 5236 端口映射到宿主机 30236 端口,外部就可以通过宿主机 ip 和 30236 端口访问容器里的数据库服务。
--restart 指定容器的重启策略,默认为 always,表示在容器退出时总是重启容器。
--name 指定容器的名称。
--privileged 指定容器是否在特权模式下运行。
-v 指定在容器创建的时候将宿主机目录挂载到容器内目录,默认为/home/mnt/disks

使用 -e 命令指定数据库初始化参数时,需要注意的是目前只支持预设以下十个 DM 参数。

参数名 参数描述 备注
PAGE_SIZE 页大小,可选值 4/8/16/32,默认值:8 设置后不可修改
EXTENT_SIZE 簇大小,可选值 16/32/64,默认值:16 设置后不可修改
CASE_SENSITIVE 1:大小写敏感;0:大小写不敏感,默认值:1 设置后不可修改
LENGTH_IN_CHAR 是否以字符为单位。1:以字符为单位,0:以字节为单位,默认值:0 设置后不可修改
UNICODE_FLAG 字符集选项;0:GB18030;1:UTF-8;2:EUC-KR,默认值:0 设置后不可修改
INSTANCE_NAME 初始化数据库实例名字,默认值:DAMENG 可修改
SYSDBA_PWD 初始化实例时设置 SYSDBA 的密码,默认值:SYSDBA001 可修改
BLANK_PAD_MODE 空格填充模式,默认值:0 设置后不可修改
LOG_SIZE 日志文件大小,单位为:M,默认值:256 可修改
BUFFER 系统缓存大小,单位为:M,默认值:1000 可修改

注意

1.SYSDBA_PWD 预设的时候,密码长度为 9~48 个字符,docker 版本使用暂不支持特殊字符为密码。

2.-e 设置的时候 初始化参数必须使用大写,不可使用小写。

4.进入 dm8_test 容器连接数据库

通过以下命令进入容器:

bash 复制代码
docker exec -it dm8_test bash

进入指定目录

bash 复制代码
cd /opt/dmdbms/bin

使用账号密码连接(默认账号密码:SYSDBA/SYSDBA001)

bash 复制代码
./disql SYSDBA/SYSDBA001

5.修改密码

在上一步的基础上进行修改密码

bash 复制代码
ALTER USER SYSDBA IDENTIFIED BY 'pwdpwdpwd';

6.扩展命令

查看 Docker 镜像中数据库初始化的参数

bash 复制代码
docker inspect dm8_test

停止数据库命令

bash 复制代码
docker stop  dm8_test

启动数据库命令

bash 复制代码
docker start  dm8_test

重启命令

bash 复制代码
docker restart  dm8_test

查看数据库日志

bash 复制代码
docker logs -f  dm8_test
相关推荐
观无31 分钟前
redis分布式锁
数据库·redis·分布式
stormsha31 分钟前
Linux中su与sudo命令的区别:权限管理的关键差异解析
linux·运维·服务器·鸿蒙系统·ux·batch命令
Bug.Remove()33 分钟前
PostgreSQL数据类型使用
数据库·postgresql
新加坡内哥谈技术1 小时前
Meta计划借助AI实现广告创作全自动化
运维·人工智能·自动化
逝水如流年轻往返染尘1 小时前
MySQL中的内置函数
数据库·mysql
zyjyyds1131 小时前
win11系统 Docker Desktop 突然提示Docker Engine stopped解决情况之一
运维·docker·容器
Altairr1 小时前
Docker基础(一)
运维·docker·容器·eureka
搬运Gong1 小时前
Dockerfile使用与最佳实践
docker·容器·虚悬镜像
咖啡啡不加糖1 小时前
深入理解MySQL死锁:从原理、案例到解决方案
java·数据库·mysql
文牧之1 小时前
PostgreSQL 的扩展pageinspect
运维·数据库·postgresql