应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

docker 安装 dm达梦数据库

15451人阅读 2023/2/28 10:06 总访问:5182347 评论:0 收藏:0 手机
分类: docker

官方文档

https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html

下载与加载镜像

下载镜像

  1. wget -O dm8_docker.tar -c https://download.dameng.com/eco/dm8/dm8_20220822_rev166351_x86_rh6_64_ctm.tar

加载镜像

  1. docker load -i dm8_docker.tar

下载与加载后可以查看镜像

启动容器

  1. docker run -d -p 5236:5236 \
  2. --restart=always \
  3. --name dm8_01 \
  4. --privileged=true \
  5. -e CASE_SENSITIVE=0 \
  6. -e UNICODE_FLAG=1 \
  7. -e LENGTH_IN_CHAR=1 \
  8. -e PAGE_SIZE=16 \
  9. -e LD_LIBRARY_PATH=/opt/dmdbms/bin \
  10. -e INSTANCE_NAME=dm8_01 \
  11. -v /data/dm8_01:/opt/dmdbms/data \
  12. dm8_single:v8.1.2.128_ent_x86_64_ctm_pack4

部分参数解释:

CASE_SENSITIVE=0 设置大小写不敏感
LENGTH_IN_CHAR=1 VARCHAR 类型对象的长度以字符为单位
UNICODE_FLAG 字符集 (0),可选值: 0[GB18030], 1[UTF-8], 2[EUC-KR]

查看容器是否启动起来了

查看dm对应容器的日志情况

  1. docker logs 容器名称或者id

当看到:
Init DM success!
Start DmAPService…
一般就会成功了,但是也不一定因为数据库不一定会初始化成功,要看到SYSTEM IS READY才是成功了,日志可以过一会在看内容就会变化,看是否能看到SYSTEM IS READY.。有可能遇到问题,比如什么内存不足,硬盘不足等问题,数据库要求的服务器资源还是有点多

进入容器,登录数据库

进入容器

  1. docker exec -it dm8_01 bash

切换到/opt/dmdbms/bin目录

  1. cd /opt/dmdbms/bin

然后执行登录命令

  1. ./disql SYSDBA/SYSDBA001

一次成功效果如下:

这个版本的Docker镜像中数据库默认用户名/密码为 SYSDBA/SYSDBA001。如果使用命令登录没有成功,提示用户名密码失败,就自己自己输入用户密码就行了。比如我这里故意把命令登录的用户名密码输入错误,他就会让你重新输入账号密码:

测试远程连接

他这个管理员账户居然可以直接远程连接这个是没有想到的,还以为要设置一堆东西也,方便倒是很方便,不过感觉好像不是很安全诶。

dm数据库容器里边的目录结构,比如日志文件,数据库文件等

可以先切换到容器里边的dmdbms目录里边看看

  1. cd /opt/dmdbms/

可以看到里边有bin,conf,data,log这些比较重要的文件夹。比如log里边就是日志,data里边存放的就是数据

进入log文件夹里边查看日志

可以看到里边还是有很多日志的,这里我们可以查看一下dm_DMSERVER_202302.log这个日志,应该就是dm数据库的运行日志

里边内容比较多,这里随便截一点,像这种SYSTEM IS READY. 启动正常的时候会看到。

进入data文件夹里边可以看到数据库的初始化脚本等

  1. cd /opt/dmdbms/data

常用错误解决

查看日志出现 Database first startup failed, reinitialize database please!

日志一直提示:DM Database is not OK, please wait…,并且后面出现Database first startup failed, reinitialize database please!

首先要确保你安装的服务器存储要足够,然后还有就是挂载目录的问题要注意,比如你前面因为内存不够等原因出现过启动失败,然后调整好了在删除容器后重新启动容器遇到这个错,就有可能是前面挂载一次了,但是没有初始化成功,这个时候就可以把前面挂载的目录删除掉在启动。

比如我们挂载目录是这个:/data/dm8_01。那么我们进入data目录去把dm8_01干掉

干掉后重启就可以了

登录遇到错误?Create SOCKET connection failure

这种情况就是数据库没有成功启动,要么就是服务没有启动,要么就是数据库没有初始化成功。没有启动成功的情况可以参考是不是遇到上面的问题,具体问题查看日志分析。

使用docker-compose 安装

创建docker-compose.yml,写入内容

  1. version: '3'
  2. services:
  3. dm8:
  4. image: dm8_single:v8.1.2.128_ent_x86_64_ctm_pack4
  5. container_name: dm8
  6. environment:
  7. # 时区上海
  8. TZ: Asia/Shanghai
  9. LD_LIBRARY_PATH: "/opt/dmdbms/bin"
  10. # SYSDBA_PWD: "SYSDBA001" # 默认密码就是SYSDBA001 这里修改默认密码不一定会起效,需要进数据库改
  11. ports:
  12. - "5236:5236"
  13. volumes:
  14. - ./data/dm8/data:/opt/dmdbms/data
  15. # restart: always
  16. networks:
  17. - my_net_dm
  18. deploy:
  19. resources:
  20. limits:
  21. memory: 1000M
  22. reservations:
  23. # cpus: 0.8
  24. memory: 1000M
  25. networks:
  26. my_net_dm:
  27. driver: bridge
  28. ipam:
  29. config:
  30. - subnet: 172.30.0.0/16

启动与停止

  1. docker-compose up -d
  2. docker-compose down

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

window7 docker启动失败 error: Failed to create the VirtualBox object。VirtualBox com对象失败

docker启动失败 报错 error: Failed to create the VirtualBox object这个错是因为:virtuelbox 无法启动,所以启动之后会...

docker启动报错 No default Boot2docker ISO found locally downloading the latest

这是因为,启动时如果检测到没有 Boot2Docker,就会去下载,这个下载过程出现网络连接上的错误了,导致启动失败。可以去下...

docker常用命令删除镜像命令进入容器、docker重启命令等

1. docker version查看 Docker 版本信息2. docker info显示 Docker 系统信息,包括镜像,容器数等3. 运行容器第一次使用:d...

docker 二次启动失败(本人这里使用的是hyper-v)

fatal: failed to start daemon: Error initializing network controller: Error creating default network: hnsCall faile...

docker中Sware集群与service

swarm 总结:1,docker中使用swarm集群可以达到多任务分配到不同的节点进行处理,如果有空闲的docker机子将会把请求的处理...

.netCore 使用分布式缓存(docker+redis)

1. 通过docker创建 Redis执行命令:dockerrun--nameasp-redis-p6379:6379-dredis查看redis状态:dockerps可以发现alreadywo...

.net Core3.0在Ubuntu 16.04上面的部署(Supervisor+nginx)(扩展docker)

前 言Linux 随着Linux越来越流行,本人一个.net程序员也多次研究linux与.net的相关产品,以及中间件的使用方式。So今天给...

docker 下载 mcr.microsoft.com/dotnet/core/sdk:3.1 老不行

请将其修改为:mcr.azk8s.cn/dotnet/core/sdk:3.1

docker常用命令

Docker简单命令整理清单[TOC] Login 获取账户信息获取账户信息 docker info | sed '/Username:/!d;s/.* //' ...

windows安装docker

win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/do...

Linux 安装Web版Vscode(docker+Local)

Linux 安装Web版Vscode(Docker+Local)[TOC] code-server 介绍 在任何地方的任何机器上运行VS代码,并在浏览器中访问它...

docker运行 Elasticsearch Kibana和Cerebro

Docker运行 Elasticsearch Kibana和Cerebro[TOC] Demo 运行 Docker-compose,本地构建更高效的开发环境,更直观地了解 El...

docker部署简单的mysql

Docker部署简单的mysql[TOC] 首先这玩意我是真不想写,网上写的太多了,但是又没有找到快速的创建方式。so…有疑问都可...

Unable to get the local Boot2docker ISO version: Did not find prefix "-v" in version string

我已经从 github 上下载 v19.03.12 的镜像到 vps 然后拖回本地放在 C:\Users\Administrator.docker\machine\cache 下了。依...

docker容器和镜像的区别

下面这两个比喻说得比较好 镜像就类似操作系统光盘介质,容器相当于通过光盘安装后的系统。通过光盘(镜像),我们能在不同...