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
相关推荐
2301_786964361 分钟前
创建一个Django用户认证系统
数据库·django·sqlite
疯狂母牛9 分钟前
容器技术-docker5
docker
_秋牧10 分钟前
Docker 镜像导出和导入
运维·docker·容器
程序员三木12 分钟前
[gpt胡说八道篇] 使用Docker快速启动Doris
gpt·docker·eureka
eclipsercp23 分钟前
《每天5分钟用Flask搭建一个管理系统》 第6章:数据库集成
数据库·python·flask
Xiao2000010130 分钟前
一文讲解Docker入门到精通
运维·docker·容器
大雨淅淅40 分钟前
【高考志愿】自动化
运维·自动化·高考
Jurio.42 分钟前
【ACM出版】第13届亚洲膜计算会议(ACMC2024)暨 2024年机器学习、模式识别与自动化工程国际学术会议(MLPRAE 2024,8月7日-9)
运维·机器学习·自动化·国际会议·模式识别·膜计算
代码之光_19801 小时前
自动化邮件通知:批处理脚本的通讯增强
运维·自动化
TNTLWT1 小时前
MySQL:数据类型
数据库·mysql