dm8 docker镜像制作

一、docker简介

Docker是一个容器运行的管理引擎,类似vmware运行虚拟机,把应用程序和所需配置文件打包形成一个镜像文件,通过镜像文件来创建运行容器,类似于一个物理机运行多个虚拟机,docker运行于操作系统之上,一个操作系统可运行多个容器(多个进程),每个容器相当于一个精简版的Linux系统,包含内核、bootfs引导文件系统rootfs等文件,多个容器之间进程隔离保证安全性,容器也拥有自己的一套网络管理方式。
docker三要素:
镜像:类似于程序的可执行文件,即独立的软件安装包,一个只读的模板,相当于一个精简版关机状态下的Linux系统。可以用镜像来创建容器,一个镜像可以创建多个容器,包含软件运行的基本条件
容器:类似于程序运行后的进程,是镜像运行后的一个状态,一个容器可运行一种或多种服务,由镜像创建而来,相当于一个精简版的Linux系统,包含程序运行的基本条件,不同容器之间通过进程隔离保证互不干扰
仓库:存放镜像的场所,国内公开的有阿里云、清华镜像仓库、官网Docker hub等等,私有的可自行创建

二、制作docker镜像步骤说明

方法1:Docker commit将运行的容器制作成镜像,容器内有运行的服务会关闭。
方法2:Dockerfile,Dockerfile是用来构建Docker镜像的文本文件,通过在文本中添加指令,一步完成所有功能添加,避免方法一的反复commit。
Docker执行Dockerfile的大致流程如下
1)Docker从基础镜像运行一个容器
2)依次执行指令对容器做出修改
3)做出修改后提交一个新的镜像层
4)Dockers再基于刚提交的镜像运行一个新容器
5)继续执行后续指令循环上述步骤

三、案例-制作dm8docker镜像

使用 dockerfile方式构建
dockerfilec常用关键字介绍(必须大写)

开始构建镜像:
dm8安装简介:达梦数据库安装后由安装目录和数据目录组成,只要环境和版本相同,可分别拷贝进行运行,提前在宿主机进行安装,按照可参照其他博客,并将安装目录dmdbms中无关组件删除,以减少镜像大小。
Dockerfile文件配置如下:

FROM centos:7 #基础镜像,包含系统运行基本环境
MAINTAINER lucas@789
RUN  mkdir -p /dm/data #创建安装目录
ADD dmdbms /dm #将安装目录导入镜像
#设置环境变量
ENV DM_HOME=/dm PATH=$PATH:/dm/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/dm/bin
#初始化数据库及配置启动数据服务
RUN /dm/bin/dminit path=/dm/data  main_size=32 roll_size=32 \&&  /dm/script/root/dm_service_installer.sh -t dmserver -p DM -dm_ini /dm/data/DAMENG/dm.ini
#容器启动时默认运行的命令
CMD   DmServiceDM  start

注意:Dockerfile文件必须和dmdbms目录在同一目录下,需要更改DM_HOME环境变量为容器内的路径,否则无法创建数据库启动服务命令
开始构建: docker build -t dm8:v4 .

[root@200 soft]# docker build -t dm8:v4 .
Sending build context to Docker daemon   1.52GB
Step 1/7 : FROM centos:7---> eeb6ee3f44bd
Step 2/7 : MAINTAINER liw@789---> Using cache---> 0acbd3124f5b
Step 3/7 : RUN  mkdir -p /dm/data---> Using cache---> a535d66a9e80
Step 4/7 : ADD dmdbms /dm---> Using cache---> a4578c0af2ef
Step 5/7 : ENV DM_HOME=/dm PATH=$PATH:/dm/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/dm/bin---> Using cache---> 0eab68ee4289
Step 6/7 : RUN /dm/bin/dminit path=/dm/data  main_size=32 roll_size=32  &&  /dm/script/root/dm_service_installer.sh  -t dmserver -p DM -dm_ini /dm/data/DAMENG/dm.ini---> Using cache---> 0f987e5c57b9
Step 7/7 : cmd  DmServiceDM start---> Using cache---> 19d57a6954fa
Successfully built 19d57a6954fa
Successfully tagged dm8:v4 ---> Running in 9c9e2a0de7ec
Removing intermediate container 9c9e2a0de7ec---> 01ef5758a91e
Successfully built 01ef5758a91e
Successfully tagged dm8:v1

启动容器:

docker run -id --name=dm8_v4 -v /dm/data:/opt/dmdata -p 5678:5236 dm8:v4 nohup dmserver /dm/data/DAMENG/dm.ini &

查看容器:

访问数据库

结语:学习记录笔记,若有错误,欢迎指正,不完善的地方继续学习更新。

docker构建dm8镜像相关推荐

  1. Docker构建JDK 镜像

    Docker构建JDK 镜像 在 Docker官网中的openJDK 镜像中,默认不是使用的北京时间,会导致启动jar应用程序时时区不对的情况,这里在 openJDK镜像的基础上,设置使用中国北京时间 ...

  2. docker构建hadoop镜像、docker-compose启动hdfs

    之前使用镜像singularities/hadoop:2.8安装过hdfs,但鉴于这个镜像已经很久没更新了,今天就手动安装一下hadoop,并构建成镜像,方便以后使用. 参考文档:docker构建ha ...

  3. Docker构建MySQL镜像并初始化

    文章目录 Docker构建MySQL镜像并初始化 Dockerfile 的一些常用语法 FROM RUN CMD ENV COPY ADD WORKDIR EXPOSE 构建自带初始化的 MySQL ...

  4. 使用docker构建jenkins镜像并运行容器

    https://my.oschina.net/donhui/blog/470372?p={{currentPage+1}}   摘要: 使用docker构建jenkins镜像并运行容器 目录: 1.基 ...

  5. Docker构建YApi镜像, Docker安装YApi, Docker部署YApi

    目录 概述 基本环境 docker网络 安装MongoDb 构建YAPI镜像 运行YAPI Nginx反向代理 挂域名 概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测 ...

  6. web重启tomcat_使用docker构建jdk镜像和web服务镜像

    一.构建jdk镜像 FROM centos WORKDIR /home/lily ADD jdk-8u91-linux-x64.tar.gz /home/lily RUN mv jdk1.8.0_91 ...

  7. docker构建hadoop镜像并运行

    单机版hadoop使用docker构建及运行 一.环境: 组件信息 组件 版本 CentOS 7.9.2009 java 1.8.0_161 hadoop 3.1.3 docker 20.10.8 服 ...

  8. docker 构建tomcat镜像部署war包

    docker 构建tomcat容器部署war包 拉取tomcat镜像 docker pull tomcat:8.5-alpine 查看镜像 docker images 构建并启动容器 docker r ...

  9. CentOS7服务器Docker构建ubuntu镜像出错invalid argument

    为什么80%的码农都做不了架构师?>>>    #1 发现问题 拿到某云主机时,选择了最新的CentOS 7.2的公共镜像,一些工作过后,开始布暑应用.因为没有使用docker仓库, ...

最新文章

  1. 想学Python?快看看这个教程!收藏!
  2. Java8新特性:接口的默认方法与接口的静态方法
  3. python 设置默认字典
  4. C#鼠标右键弹出菜单
  5. CM: 如何通过attachment的physical instance id反查到所属的business object ID
  6. makefile obj文件路径_Makefile一问:如何修改.o输出文件的输出路径 Linux/Unix社区 / 程序开......
  7. python3异步协程爬虫_Python实现基于协程的异步爬虫
  8. 计算机描绘的基因结构图,利用IBS软件画基因mRNA的结构图
  9. firewalld-富规则使用内容事项:
  10. php mysql登陆页面完整代码_PHP实现用户登录的案例代码
  11. 中间件是什么?通俗易懂的解释
  12. 报告女王陛下,我找到了可以吃的塑料杯!
  13. APP服务器与Web服务器的区别是什么?
  14. [转载]iOS开发之第三方登录QQ
  15. 2惠普暗影精灵恢复出厂设置
  16. 格式化电脑重装系统怎么操作
  17. Introduce·艺术学核心期刊推荐之《文艺争鸣》
  18. Python网络爬虫:爬取CSDN热搜数据 并保存到本地文件中
  19. 施一公首部作品:《自我突围:向理想前行》
  20. Node.js项目中动态加载环境变量配置

热门文章

  1. 电子纸墨水屏的现实应用场景
  2. java 8位随机数字_java随即产生8位数的密码
  3. Linux基础——log文件分析
  4. Windows11自带的杀毒软件添加信任
  5. nmi watchdog
  6. MySQL 使用触发器记录用户的操作日志
  7. java学生管理系统(增删改查存)
  8. 一文了解命名实体识别
  9. ftp服务器显示已连接又丢失,连接FTP与服务器连接被重置
  10. 前后端联调(1) ——Web前端部分