使用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入门
- 创建一个数据库作为DEM后台数据库, 数据库dm.ini参数配置进行优化, 推荐配置:
MEMORY_POOL = 200
BUFFER = 1000
KEEP = 64
MAX_BUFFER = 2000
SORT_BUF_SIZE = 50 - 在该数据库中执行以下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 - 配置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" - 配置后台数据库的连接信息: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 - 启动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系列适用的主要内容,如果未能解决你的问题,请参考以下文章