背景
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