• 使用docker-compose部署达梦DEM管理工具,mac m1系列适用


    之前搭建了mac m1下基于docker的达梦库,但是没有一个好用的管理端。

    用过DBeaver,可以使用自定jar创建dm链接,只做简单查询还行,要是用到一些修改、大文本查看、配置修改等高级点的功能就不行了。

    后来在虚拟机里安装DM Manager系列客户端,一直使用到现在。

    那不用虚拟机的办法呢?就是用跨平台的web管理端DEM,最近试了下也是可行的,功能也是非常的强大,相当于把DM系列的PC客户端包含管理工具、数据迁移、性能监视等等所有功能集合在一起,看下页面感受下:

    以下内容基于你已经搭建好docker的dm库,搭建方式参考 :达梦数据库(DM8)arm64架构docker镜像,可在mac m1系列芯片上完美运行

    其实搭建DEM的步骤官方文档介绍的非常详细。文档、部署war包等资料就在你安装达梦服务端主机的目录中,可以使用docker命令将目录拷贝到宿主机(宿主机目录自定义):

    docker cp dm8:/home/dmdba/dmdbms/web /Users/chaz/dev/docker/data/dm8/tomcat/webapps

    可以看到pdf、txt两个都是安装教程,dem.war就是要部署的war包

    如果没找到,两份文档我也共享到了网盘:
    https://pan.baidu.com/s/1YNJ362eIL9F9FvSwBD4uMQ?pwd=44q5

    可以参考文档中的步骤进行操作,但要注意几点:

    1、dem.war一定要手动解压。我尝试使用tomcat启动的自动解压war包,结果导致很多子目录是空的(原因不明),造成访问最终地址显示404

    2、修改db.xml时,数据库地址可以直接使用docker-compose中的service名称,比如下面的例子,使用 DM8 即可

    3、教程中的-Djava.library.path=/opt/dmdbms/bin相关内容,其实要指向达梦的安装路径,所以一般情况要根据实际情况进行修改。我这里dm容器中的实际地址为 /home/dmdba/dmdbms/bin。

    但我们使用docker方式,容器间只要挂载同一个目录就可以共享文件,所以这个路径映射好就可以,可以按照他的说明去设定。手动修改该文件时,一定要放在catalina.sh的第二行

    使用docker-compose(推荐),就可以比较好的将两者结合起来管理以下为示例。但要注意,首次启动时需要先注释部分目录挂载:

    1、编写docker-compose.yml,首次启动注掉如下挂载内容

    1. version: '2.1'
    2. services:
    3. DM8:
    4. image: qinchz/dm8-arm64:latest
    5. container_name: dm8
    6. ports:
    7. - "5236:5236"
    8. mem_limit: 4g
    9. memswap_limit: 4g
    10. volumes:
    11. - /Users/chaz/dev/docker/data/dm8/data:/home/dmdba/data
    12. #- /Users/chaz/dev/docker/data/dm8/bin:/home/dmdba/dmdbms/bin
    13. tomcat:
    14. user: root
    15. restart: always
    16. container_name: tomcat
    17. image: tomcat:8.5.84-jre8
    18. privileged: true
    19. environment:
    20. - TZ="Asia/Shanghai"
    21. ports:
    22. - 8080:8080
    23. volumes:
    24. - /Users/chaz/dev/docker/data/dm8/tomcat/webapps:/usr/local/tomcat/webapps
    25. #- /Users/chaz/dev/docker/data/dm8/tomcat/conf:/usr/local/tomcat/conf
    26. #- /Users/chaz/dev/docker/data/dm8/tomcat/logs:/usr/local/tomcat/logs
    27. #- /Users/chaz/dev/docker/data/dm8/tomcat/bin:/usr/local/tomcat/bin
    28. #- /Users/chaz/dev/docker/data/dm8/bin:/opt/dmdbms/bin
    29. - /etc/localtime:/etc/localtime

    2、使用docker cp命令 依次将以上注掉的路径内容复制到本地

    1. docker cp dm8:/home/dmdba/dmdbms/bin /Users/chaz/dev/docker/data/dm8/bin
    2. docker cp tomcat:/usr/local/tomcat/conf /Users/chaz/dev/docker/data/dm8/tomcat/conf
    3. docker cp tomcat:/usr/local/tomcat/logs /Users/chaz/dev/docker/data/dm8/tomcat/logs
    4. docker cp tomcat:/usr/local/tomcat/bin /Users/chaz/dev/docker/data/dm8/tomcat/bin

    3、将第一步docker-compose中注释的内容放开,重新执行 docker-compose up -d

    4、浏览器打开 localhost:8080/dem   使用admin/888888登录

    5、可以打开sql输入助手,可以自动补全对象名,舒服多了

  • 相关阅读:
    layout viewport visual viewport ideal viewport
    用Rust打印hello world!
    c++的priority_queue各种使用方法
    Cholesterol-PEG-DBCO,CLS-PEG-DBCO,胆固醇-聚乙二醇-二苯基环辛炔PEG衍生物
    39. 组合总和-java
    代码事件派发机制(观察者模式)
    Java:阻塞队列BlockingQueue与应用场景
    【MySQL系列】使用C语言来连接数据库
    【经验】通过跳板机远程连接内网服务器的相关配置
    CSS 的布局 盒子
  • 原文地址:https://blog.csdn.net/qinchaozengh/article/details/128038287