dm docker的使用

下载dm安装包
https://eco.dameng.com/download/

导入安装包

卸载旧版本docker

rpm -qa|grep docker查看已经安装的docker安装包

使用yum -y remove命令删除

删除docker镜像
rm -rf /var/lib/docker

安装docker
1.安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
2.添加软件源(阿里仓库)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
4.安装Docker
yum install docker-ce.x86_64
5.启动docker
systemctl start docker

docker version查看docker 版本

启动docker
systemctl start docker
设置docker开机自启动
systemctl enable docker

执行以下命令导入安装包
docker load -i dm8_20220822_rev166351_x86_rh6_64_ctm.tar

查询导入镜像

下载镜像:docker pull 镜像名

删除镜像:docker rmi 镜像名

启动容器
docker run -d -p 5236:5236 --restart=always --name dm8_01 --privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e INSTANCE_NAME=dm8_01 -v /data/dm8_01:/opt/dmdbms/data dm8_single:v8.1.2.128_ent_x86_64_ctm_pack4

docker run -d -p 31880:8080 -p 30236:5236 --restart=always --name testdb2 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e INSTANCE_NAME=testdb -v /opt/testdb:/opt/dmdbms/data -v /software/dm8.key:/opt/dmdbms/bin/dm.key 192.168.114.248/dm8:v8.1.1.66_x86_rh7_64_ent
有的dm版本需要key应该加上了key的地址

对于宿主机的端口是5239
对于容器来说,端口是5236

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
–name=“nginx-lb”: 为容器指定一个名称;
–dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
–dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h “mars”: 指定容器的hostname;
-e username=“ritchie”: 设置环境变量;
–env-file=[]: 从指定文件读入环境变量;
–cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
–net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container:<name|id> 四种类型;
–link=[]: 添加链接到另一个容器;
–expose=[]: 开放一个端口或一组端口;
–volume , -v: 绑定一个卷

启动和停止容器
docker start 容器id 启动容器
docker restart 容器id 重启容器
docker stop 容器id 停止当前正在运行的容器
docker kill 容器id 强制停止容器

docker ps : 列出容器
语法
docker ps [OPTIONS]
OPTIONS说明:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
–format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
–no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。

如果要删除镜像要先删除该镜像容器,先停止该容器进行删除,在删除镜像

进入容器
docker exec -it 容器ID /bin/bash
退出容器
exit 直接退出容器并停止
ctrl +p+q 退出但不停止运行
设置当前容器随着docker的启动而启动
docker update --restart=always 容器ID

再此目录下修改dm参数

修改玩dm.ini后重启容器即可

注意
1.如果使用 docker 容器里面的 disql,进入容器后,先执行 source /etc/profile 防止中文乱码。
2.新版本 Docker 镜像中数据库默认用户名/密码为 SYSDBA/SYSDBA001。

docker logs -f dm8_01

docker inspect 容器ID/name
可以查看容器的具体配置;
比如IP地址;
数据卷映射路径等

创建dm docker镜像

拉取 centos7-java 镜像
进入docker hub 中央镜像仓库
https://hub.docker.com/

拉取基础的 centos7-java镜像 执行 docker pull 命令如下:
docker pull insideo/centos7-java8-build

执行完成查看当前下载的镜像,使用docker images 命令如下:
docker images复制代码

启动容器
启用一个centos7-java 的基础容器,在当前容器中进行达梦数据库的安装
启动命令如下:
docker run -itd insideo/centos7-java8-build复制代码

拷贝安装包到容器
如果直接拷贝iso安装包文件到容器中,容器中进行挂载容易失败,所以最好在宿主机中进挂载 拷贝挂载好的达梦数据库安装包到容器中,进行安装。
在宿主机上挂载iso安装包到mnt
mount dm8_20210513_x86_rh6_64_ent_8.1.2.2_pack5.iso /mnt复制代码

拷贝宿主机上的DMInstall.bin到centos7-java容器
docker cp /mnt/DMInstall.bin ec0542d7deaf:/opt复制代码

进入centos7-java基础容器
docker exec -it ec0542d7deaf /bin/bash复制代码

容器中安装达梦数据库
在容器中安装达梦数据库
执行安装达梦数据库 命令如下:
./DMInstall.bin -i复制代码

安装完成,进行实例的初始化。
1.初始化达梦数据库实例
使用dminit 工具进行达梦数据库实例初始化 命令如下:
./dminit PATH=/opt/dmdbms/data复制代码

启动数据库
使用dmserver工具来启动达梦数据库 命令如下:
./dmserver path=/opt/dmdbms/data/DAMENG/dm.ini

3.5 制作启动脚本
刚才启动的容器 关闭终端数据库也跟着关闭了,还有启动的命令太长,不好记,可以执行一个启动的shell 脚本来简化启动过程。
1.在root目录创建一个启动脚本 startDm.sh
vi /root/startDm.sh

启动命令内容如下:

导出容器
把刚刚安装好的达梦数据库容器,导出为达梦数据库镜像,可以使用 docker commit 命令:
docker commit ec0542d7deaf dm8:v01

测试
根据镜像来启动一个达梦数据库容器,指定端口映射为 5236->5236, 启动脚本为 /root/startDm.sh ,容器名称为 dmserver, 进行后台启动。
docker run -itd --name dmserver -p 5236:5236 dm8:v01 /root/startDm.sh复制代码
启动完成,可以通过 docker logs dmserver 来查看容器的启动日志。

查看宿主机ip 地址

通过客户端连接测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值