docker 制作达梦数据库镜像

http://doc.jeecg.com/2068428

本案例是在 linux 下的 ubuntu

首先从 dm 官网下载(官网的网盘和密码)
网盘地址:https://pan.baidu.com/s/1H3m6Om4jQf2-4pxK4mvs1w
提取码:2zj6

1、拉取 centos7 镜像

1
docker pull centos:7

2、启动镜像 centos7(此方法直接进入 docker 容器)

1
docker run -it -p 5236:5236 <IMAGE ID> /bin/bash

3、如果要运行 systemctl 要下面语句(此方法直接进入 docker 容器)

1
docker run -it -p 5236:5236 --privileged=true --name dm8 centos:7  /sbin/init

4、复制达梦数据库到 docker centos7 镜像

1
2
3
4
1、先执行exit退出docker容器

2、将官网下载的DMInstall复制到/home下
3、docker cp /home/DMInstall.bin <CONTAINER ID>:/root

5、进入容器

1
docker exec -it <CONTAINER ID> bash

6、安装达梦数据库

进入到 /root 目录

1
cd /root

执行./DMInstall.bin -i 程序,开始安装:

1
2
chmod -R 775 DMInstall.bin
./DMInstall.bin -i

具体步骤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
 Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c
解压安装程序.........
欢迎使用达梦数据库安装程序

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n

是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [13]:21

安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 780M

请选择安装目录 [/opt/dmdbms]:
可用空间: 26G
是否确认安装路径? (Y/y:是 N/n:否) [Y/y]:

安装前小结
安装位置: /opt/dmdbms
所需空间: 780M
可用空间: 26G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装 (Y/y,N/n) [Y/y]:
2019-11-20 02:14:26
[INFO] 安装 default 模块...
2019-11-20 02:14:26
[INFO] 安装达梦数据库...
2019-11-20 02:14:30
[INFO] 安装 server 模块...
2019-11-20 02:14:31
[INFO] 安装 client 模块...
2019-11-20 02:14:32
[INFO] 安装 drivers 模块...
2019-11-20 02:14:32
[INFO] 安装 manual 模块...
2019-11-20 02:14:33
[INFO] 安装 service 模块...
2019-11-20 02:14:38
[INFO] 创建dmdba系统管理员完成。
2019-11-20 02:14:38
[INFO] 正在启动DmAPService服务...
2019-11-20 02:14:39
[INFO] 移动ant日志文件。
2019-11-20 02:14:39
[INFO] 安装达梦数据库完成。

安装结束

7、 创建数据库实例

1
./dminit path=/opt/dmdbms/data page_size=16 log_size=2048 case_sensitive=n

8、注册数据库服务

1
./dm_service_installer.sh -t dmserver -p dameng -dm_ini /opt/dmdbms/data/DAMENG/dm.ini

9、启动数据库

1
2
3
4
5
6
7
8
9
1、开机自启动(此方法有可能启动报错,pid没有root权限啥的,有时候就好用)
systemctl enable DmServicedameng.service
注意:下面步骤报错说明第二步没有运行
//启动数据库
systemctl start DmServicedameng
//关闭数据库
systemctl start DmServicedameng
//如果上面方法不可以,那就进入bin执行下面语句
2、 ./dmserver path=/opt/dmdbms/data/DAMENG/dm.ini

10、docker 上传到阿里云

1
2
//阿里云镜像地址
https://cr.console.aliyun.com/cn-hangzhou/instance/repositories

先打包

1
docker commit [CONTAINER] 容器名称:版本号

登录阿里云账号

1
sudo docker login --username=用户名 registry.cn-hangzhou.aliyuncs.com

将镜像推送到 Registry

1
2
3
4
5
 sudo docker login --username=176****6687 registry.cn-hangzhou.aliyuncs.com
sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/[命名空间
]/[仓库名称]:[镜像版本号]
sudo docker push registry.cn-hangzhou.aliyuncs.com/[命名空间
]/[仓库名称]:[镜像版本号]

注意

当上传到最后一步报超时的错误,那么需要配置一下 docker 的加速

1
2
3
4
5
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://d1d9aef0.m.daocloud.io
//当从阿里云下pull下来的时候,如果不是开机自启动,需要进入容器
cd /opt/dmdbms/bin
//运行
./dmserver path=/opt/dmdbms/data/DAMENG/dm.ini

安装

参考

http://doc.jeecg.com/2159601

步骤

1、下载达梦数据库镜像

1
docker pull registry.cn-hangzhou.aliyuncs.com/wangshuai\_2020/dm8:v1.1

2、启动镜像

1
docker run --privileged -it -p 5236:5236 --name dm8 registry.cn-hangzhou.aliyuncs.com/wangshuai\_2020/dm8:v1.1

3、启动数据库

1
2
3
4
5
#进入镜像 
docker exec -it dm8 /bin/bash
#启动数据库
cd /opt/dmdbms/bin
./dmserver path=/opt/dmdbms/data/DAMENG/dm.ini

DB 工具: dmdbms\tool\manager.exe
数据迁移: dmdbms\tool\dts.exe
账号密码:SYSDBA / SYSDBA