当前位置: 首页 > news >正文

【赵渝强老师】在Docker中运行达梦数据库

1

​Docker是一个客户端服务器(Client-Server)架构。Docker客户端和Docker守护进程交流,而Docker的守护进程是运作Docker的核心,起着非常重要的作用(如构建、运行和分发Docker容器等)。达梦官方提供了DM 8在Docker容器中进行部署的镜像文件,下面通过具体的步骤进行演示。

image.png
点击这里查看视频讲解:【赵渝强老师】在Docker中运行达梦数据库

操作步骤如下:

(1)在根目录下创建 /dm8 文件夹,用来放置下载的 Docker 安装包。

mkdir /dm8
cd /dm8

(2)下载 DM Docker安装包。

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

(3)下载完成后,导入DM安装包

docker import dm8_docker.tar dm8:v01

(4)使用docker images命令来查看导入的镜像。

docker images# 输出的信息如下:
REPOSITORY  TAG  		IMAGE ID      CREATED        SIZE
dm8         	v01  c5b8632e84e8  	3 seconds ago  2.5 GB

(5)启动DM容器。

docker run -itd -p 5237:5236 --name dm8_01 dm8:v01 /bin/bash /startDm.sh# 输出的信息如下:
CONTAINER ID        IMAGE     ...... PORTS                    	NAMES
f413eda461b2        dm8:v01   ...... 0.0.0.0:5237->5236/tcp   dm8_01# 这里为了防止与宿主机的端口冲突,将容器内的5236端口映射到了宿主机的5237端口上。

(6)使用SQL命令工具登录DM数据库。

disql sysdba/SYSDBA@localhost:5237# 用户sysdba的默认密码是SYSDBA。# 输出的信息如下:
服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 1.976(ms)
disql V8
SQL>

(7)查看当前用户和数据库实例的状态信息。

SQL> select user();行号     USER()
---------- ------
1          SYSDBA已用时间: 2.863(毫秒). 执行号:600.SQL> select status$ from v$instance;行号     status$
---------- -------
1          OPEN已用时间: 3.772(毫秒). 执行号:601.

(8)停止DM数据库容器。

docker stop  dm8_01

这里需要注意的问题是:由于Docker的容器是一个无状态的服务,在实际生产中不适合将一个有状态的服务部署到Docker的容器中,例如数据库服务。这主要体现在以下几方面:

数据的安全性

  • 尽管Docker可以通过数据卷的方式将容器内的数据持久化存储到宿主机上,但任然不能保证不丢数据。如果容器崩溃并数据库未正确关闭,则可能会损坏数据。

硬件资源的争用

  • 通常在一台Docker的宿主机上往往会启动多个容器。如果将数据库的容器与其他应用的容器运行在同一个宿主机上,由于它们对硬件资源的要求是不同的,必然会造成资源的争用问题。

网络带宽的占用

  • Docker的网络都是虚拟网络,通过宿主机上的docker0网桥进行转发。而数据库通常要求的网络带宽是比较高的。因此将数据库与其他应用都部署在同一个宿主机的容器中,网络带宽必然会成为数据库性能的瓶颈。

数据额外的隔离

  • 将数据库部署到容器中,毫无疑问增加了一层容器的隔离。这不利于数据库的水平扩展。

最后还需要说明的一点是,使用Docker的目的就是在于易于构建新环境和易于重新部署应用系统。而在实际情况中数据库一旦部署完成,很少会进行数据库的升级或者重新部署。因此从这一方面看,数据库也不适合Docker及容器化。

http://www.jsqmd.com/news/100002/

相关文章:

  • 2025法兰轴承生产厂TOP5权威推荐:技术/口碑/案例三维 - mypinpai
  • Flux.1-dev高清修复ControlNets上线
  • LobeChat能否集成GitHub?代码协作更高效
  • python实现密码暴力破解
  • 2025高空特种工程服务商TOP5权威推荐:盈尚环境工程(杭 - myqiye
  • Go Defer语句详解
  • npm安装常见错误及解决方案汇总(YOLO专用)
  • 2025年国产电脑操作系统推荐:银河麒麟为何成为党政机关首选?
  • 2025少儿编程机构实测:3家高口碑品牌+5个避坑技巧,家长直接抄作业 - 品牌测评鉴赏家
  • Git安装配置指南:集成清华镜像提升TensorFlow项目克隆效率
  • LobeChat能否生成KPI指标?绩效考核智能化
  • Flutter 2025 国际化与本地化工程:从多语言到文化适配,打造真正全球化的应用
  • AI证书口碑好排名
  • 2025年高性价比在线少儿编程机构测评:这5家凭什么让家长放心买单? - 品牌测评鉴赏家
  • 记一次大屏某一处图像采集接口异常导致该页其他图表都无法显示问题解决
  • LobeChat能否支持梦境解析?睡眠记录与心理象征意义探讨
  • LobeChat支持拖拽上传文件吗?实测多种格式兼容性
  • 三大在线少儿编程机构深度对比与选择指南 - 品牌测评鉴赏家
  • LobeChat能否接入语音合成TTS?全流程语音交互实现
  • 2025年信誉好的工业设计企业排行榜,新测评精选工业设计机构 - 工业推荐榜
  • vue基于Springboot框架大学生竞赛辅导管理系统设计与实现_979lg660
  • 基于Dify部署多语言GPT-SoVITS合成系统的架构设计
  • 2025年薄壁轴承加工厂推荐:哪家更值得选、维护更方便、工艺 - mypinpai
  • 关于Windows 11 家庭中文版 25H2中ensp无法启动路由器,报40错的解决方法
  • Flutter:在代码与像素之间,重建移动开发的诗意
  • 解决‘此扩展程序不再受支持,因此已停用’问题:PaddlePaddle浏览器插件适配建议
  • 开源不输商用!LobeChat媲美ChatGPT的用户体验实测
  • TensorFlow-GPU环境搭建与PyCharm配置指南
  • 2025年湖北岩棉净化板供应商排名:硅岩净化板与机制净化板安 - myqiye
  • 网安零基础必冲!upload-labs 文件上传漏洞保姆级通关教程