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

Posted 轻云.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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包

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

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,首次启动注掉如下挂载内容

version: '2.1'
services:
  DM8:
    image: qinchz/dm8-arm64:8.1.8.128
    container_name: dm8
    ports:
      - "5236:5236"
    mem_limit: 4g
    memswap_limit: 4g
    volumes:
      - /Users/chaz/dev/docker/data/dm8/data:/home/dmdba/data
      #- /Users/chaz/dev/docker/data/dm8/bin:/home/dmdba/dmdbms/bin
  tomcat:
    user: root
    restart: always
    container_name: tomcat
    image: tomcat:8.5.84-jre8
    privileged: true
    environment:
      - TZ="Asia/Shanghai"
    ports:
      - 8080:8080
    volumes:
      - /Users/chaz/dev/docker/data/dm8/tomcat/webapps:/usr/local/tomcat/webapps
      #- /Users/chaz/dev/docker/data/dm8/tomcat/conf:/usr/local/tomcat/conf
      #- /Users/chaz/dev/docker/data/dm8/tomcat/logs:/usr/local/tomcat/logs
      #- /Users/chaz/dev/docker/data/dm8/tomcat/bin:/usr/local/tomcat/bin
      #- /Users/chaz/dev/docker/data/dm8/bin:/opt/dmdbms/bin
      - /etc/localtime:/etc/localtime

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

docker cp dm8:/home/dmdba/dmdbms/bin /Users/chaz/dev/docker/data/dm8/bin
docker cp tomcat:/usr/local/tomcat/conf /Users/chaz/dev/docker/data/dm8/tomcat/conf
docker cp tomcat:/usr/local/tomcat/logs /Users/chaz/dev/docker/data/dm8/tomcat/logs
docker cp tomcat:/usr/local/tomcat/bin /Users/chaz/dev/docker/data/dm8/tomcat/bin
docker cp tomcat:/opt/dmdbms/bin /Users/chaz/dev/docker/data/dm8/bin

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

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

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

 

达梦DEM入门

  1. 创建一个数据库作为DEM后台数据库, 数据库dm.ini参数配置进行优化, 推荐配置:
    MEMORY_POOL = 200
    BUFFER = 1000
    KEEP = 64
    MAX_BUFFER = 2000
    SORT_BUF_SIZE = 50
  2. 在该数据库中执行以下SQL脚本dem_init.sql,重启数据库实例;
    SQL>set define off
    SQL>set char_code utf8
    SQL>start /dm7/web/dem_init.sql;
    [dmdba@localhost bin]$/etc/rc.d/init.d/DmServiceDMSERVER restart
  3. 配置tomcat
    (1)解压tomcat
    [dmdba@localhost ~]$tar -xf apache-tomcat-7.0.39.tar
    (2)在conf/server.xml中 <Connector port="8080" protocol="HTTP/1.1"... 追加属性字段 maxPostSize="-1"
    <Connector port="8080" protocol="HTTP/1.1"
    maxThreads="150" connectionTimeout="20000"
    redirectPort="8443"
    maxPostSize="-1" />
    (3)修改jvm启动参数,在catalina.sh加入如下内容:
    JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxPermSize=512m -Djava.library.path=/dm7/bin"
  4. 配置后台数据库的连接信息:ip、port、用户名、密码信息等,在文件WEB-INF/db.xml(dem.war中)配置如下:
    (1)配置JAVA环境变量到dmdba用户的.bash_profile中,拷贝dem.war到apache的webapps中。
    export JAVA_HOME=/usr/share/jdk1.6.0_45
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    [dmdba@localhost bin]$ cp /dm7/web/dem.war /home/dmdba/apache-tomcat-7.0.39/webapps/
    (2)启动tomcat。
    [dmdba@localhost bin]$./startup.sh
    (3)修改db.xml,IP,端口,用户名密码等信息,根据时间进行调整。
    <?xml version="1.0" encoding="UTF-8"?>
    <ConnectPool>
    <Dbtype>dm7</Dbtype>
    <Server>192.168.10.63</Server>
    <Port>5236</Port>
    <User>SYSDBA</User>
    <Password>SYSDBA</Password>
    <InitPoolSize>50</InitPoolSize>
    <CorePoolSize>100</CorePoolSize>
    <MaxPoolSize>500</MaxPoolSize>
    <KeepAliveTime>60</KeepAliveTime>
    <DbDriver></DbDriver>
    <DbTestStatement>select 1</DbTestStatement>
    <SSLDir>../sslDir/client_ssl/SYSDBA</SSLDir>
    <SSLPassword></SSLPassword>
    </ConnectPool>
    (4)关闭tomcat
    [dmdba@localhost bin]$ ./shutdown.sh
  5. 启动tomcat并且访问
    (1)启动tomcat。
    [dmdba@localhost bin]$./startup.sh
    (2)假设本机ip为192.168.10.63,开启浏览器访问url(http://192.168.10.63:8080/dem),登录(admin/888888

以上是关于使用docker-compose部署达梦DEM管理工具,mac m1系列适用的主要内容,如果未能解决你的问题,请参考以下文章

达梦DEM入门

docker-compose 之 达梦数据库(dm8)

达梦数据库部署

达梦数据库DM7部署方案

基于docker-compose部署jumpserver

基于docker-compose部署jumpserver