CDM(云数据迁移服务)数据源容器化部署,docker容器化快速部署经典案例

举报
会算数的舒小超 发表于 2018/08/08 13:56:31 2018/08/08
【摘要】 Docker是当前最为流行的容器化工具,在生产中有着十分广泛的应用。今天小编就如何利用Docker实现复杂环境的快速部署,为大家分享一个简单案例。 希望对大家构建部署docker容器能有所帮助。

    Docker是当前最为流行的容器化工具,在生产中有着十分广泛的应用。今天小编就如何利用Docker实现复杂环境的快速部署,为大家分享一个简单案例。 希望对大家快速构建、部署docker容器有所帮助。

    小编与docker结缘,是在2015年,当时小编是南方某军校的研究生,所在的项目组承接了国家的重大国防型号项目-HiGIS(已经解密),项目的产品经过了四年的迭代开发,产品庞大,且环境十分复杂,部署这样一套集群往往需要我们组2-3个人,全力支持一周左右,且由于一些原因,部署的目的机器环境基本上不能为我控制,造成很大的部署成本。

     机缘巧合,我在15年参加ACM GIS会议的时候,听了一场关于Docker快速部署WEB-GIS的介绍,顿时灵光闪现,觉得Docker可以用到我们的项目中来。后来,容器化改造后的HiGIS,部署成本下降到小时级,基本上一天之内肯定能搞定,由此激发了我对Docker的学习兴趣。


      后来作为学生,在单服务器上部署自己博客、个人网站等,一机多用上也多次使用Docker进行部署。

      时光荏苒,我毕业后加入了菊场-cloudbu-云数据迁移服务项目组,在项目组的工作中,我发现我们在每个版本在部署我们的测试数据源的时候,需要大量的重复部署,同时在测试过程中,如果出现了某个数据源宕机或其他不可恢复的情况时,需要花大量的精力重复部署,有时候一周还不能恢复,为研发工作带来极大的困扰。本着学以致用的精神,我向老大提出了,数据源部署的容器化改造方案。容器化改造,加快部署,是一个很好的提高复杂环境部署效率、避免重复劳动的方案,基于此我将我容器化部署数据源的经验分享给大家。步骤如下:


1、安装docker-------请自行google,支持离线、在线安装


2、制作容器镜像。

       1)容器镜像在联网环境下,nginx、mysql、postgresql这些较为普遍镜像可以通过 docker pull命令直接从公共仓库中下载。dws、mappdb这些具有华为内部服务,可以根据其依赖环境,先下载对应的基础镜像,再基于基础镜像进行改造。例如dws对系统强依赖,依赖于suse操作系统,那么可以先docker pull suse*,将系统镜像先下载下来,然后通过docker run -p * -v* -d +镜像ID(docker images查看) 命令,将suse镜像跑起来成为容器,然后通过docker exec -ti  容器ID bash,进入容器后台,并按照dws的安装步骤安装dws即可,熟练后也可通过dockerfile完成镜像制作步骤,不做赘述。

      2)容器改造后,可以通过docker commit +容器ID +镜像名,创建新的dws镜像

      3)docker中的镜像可以通过 docker save 镜像ID(docker images查看)  > *.tar 保存为tar包,这个tar包就可以在任何docker环境下部署为dws容器了。


3、部署镜像tar包

        1)将tar包拷贝至需要部署的服务器(已安装docker)

      2)将tar包导入docker: docker load < *.tar

1.PNG1.PNG

      3) 导入成功后,可以通过docker images 命令 查看其相关信息,重要的信息有ID、名称、tag等,记住images ID,后面步骤有用

2.PNG

     4)基于镜像,启动容器,具体命令如下,命令含义: -p(端口映射)  -v(挂载卷)  --name(设置容器名称)......自行google

       5)容器启动后,可以docker ps -a 查看容器信息,数据源可按照端口连接使用。

3.PNG


至此,容器化部署完成。第一次制作镜像稍微麻烦,后面重复部署都只需要运行几个命令即可。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。