[TOC] 本案例是在linux下的ubuntu 首先从dm官网下载(官网的网盘和密码) 网盘地址:https://pan.baidu.com/s/1H3m6Om4jQf2-4pxK4mvs1w 提取码:2zj6 #### 1、拉取centos7镜像 ``` docker pull centos:7 ``` #### 2、启动镜像centos7(此方法直接进入docker容器) ``` docker run -it -p 5236:5236 <IMAGE ID> /bin/bash ``` #### 3、如果要运行systemctl要下面语句(此方法直接进入docker容器) ``` docker run -it -p 5236:5236 --privileged=true --name dm8 centos:7 /sbin/init ``` #### 4、复制达梦数据库到docker centos7镜像 ``` 1、先执行exit退出docker容器 2、将官网下载的DMInstall复制到/home下 3、docker cp /home/DMInstall.bin <CONTAINER ID>:/root ``` #### 5、进入容器 ``` docker exec -it <CONTAINER ID> bash ``` #### 6、安装达梦数据库 进入到/root目录 ``` cd /root ``` 执行./DMInstall.bin -i 程序,开始安装: ``` chmod -R 775 DMInstall.bin ./DMInstall.bin -i ``` 具体步骤 ``` 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、 创建数据库实例 ``` ./dminit path=/opt/dmdbms/data page_size=16 log_size=2048 case_sensitive=n ``` #### 8、注册数据库服务 ``` ./dm_service_installer.sh -t dmserver -p dameng -dm_ini /opt/dmdbms/data/DAMENG/dm.ini ``` #### 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上传到阿里云 ``` //阿里云镜像地址 https://cr.console.aliyun.com/cn-hangzhou/instance/repositories ``` 先打包 ``` docker commit [CONTAINER] 容器名称:版本号 ``` 登录阿里云账号 ``` sudo docker login --username=用户名 registry.cn-hangzhou.aliyuncs.com ``` 将镜像推送到Registry ``` 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的加速 ``` 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 ```