最近公司一刀切的搞Docker容器化部署,产品负责人一句话撂给我(技术负责人)就出差享受江南好风情去了。两天内完成系统的容器化部署!差不多一天半的时间;从0开始到部署应用到公司的Docker容器上;这对于一个奔四的老男人来说实属不易。 简单描述一下过程做个备忘,也系统给新人一点指引。

       在此之前我对Docker的认识只是停留在知道其功能和好处;并没有进行实质的学习。所以先找个官方英文手册github翻译版,了解下Docker的基本概念、软件架构等;这样能在心中搭建一个模糊的整体结构,也明白了本次容器化部署的大致操作流程。      

    一、本地Docker环境的搭建

       为了不在电脑中产生过多的垃圾(MacOS可怜的256G SSD);决定使用VirtualBox安装Ubuntu,然后在虚拟机中安装docker。操作系统的安装我略过不写了也不是本篇博客要传递的信息;本节重点介绍一下docker的安装。

            

            1、先卸载本机的docker,确保安装之前你的ubuntu上是没有docker的,命令如下:

        sudo apt-get remove docker docker-engine docker-ce docker.io

            2、更新apt索引:

        sudo apt-get update

            3、安装依赖库

        sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common       

            4、为了确保下载的软件是合法的安全的;需要安装软件源的GPG密钥

        #因为docker官方的源比较慢;我们还是选择国内的比较节约时间
        curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
        #官方如下,不建议使用
        # curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

            5、添加docker软件源(采用国内镜像)

      $ sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs)  stable"
# 官方源
# $ sudo add-apt-repository     "deb [arch=amd64] https://download.docker.com/linux/ubuntu     $(lsb_release -cs)  stable"

            6、做了这么多准备开始正式安装docker了!

      apt-get update #更新apt包缓存
      apt-get install docker-ce

             到此操作完1-6步骤Docker就安装完毕了,是不是很繁琐?当然!为了简化安装Docker官方提供了便捷安装脚本,脚本会自动把稳定版本的Docker安装到你的机器上;方法如下:

      curl -fsSL get.docker.com -o get-docker.sh
  sudo sh get-docker.sh --mirror Aliyun
# sudo sh get-docker.sh --mirror AzureChinaCloud
#其中 --mirror 指定安装源

              7、启动Docker

     sudo systemctl enable docker        
sudo systemctl start docker

              8、测试Docer是否正常安装

     docker version #如果输出了客户端信息&服务器端信息那就表名Docker安装成功。

       

       二、本地下载Tomcat镜像;

             1、首先我们查看一下本地有哪些镜像:

     docker image ls #会列出镜像列表;

           

             2、我们来下载一个tomcat镜像

     docker pull tomcat

       三、运行镜像、上传系统war包

            1、运行镜像:

      docker run -p 8080:8080 --name paaswebtomcat -d tomcat:latest
-p 是指端口映射 --name 是指通过镜像启动的容器的名称 后面跟的是镜像名称
#启动后可以看到启动日志;我们可以通过如下命令进入tomcat docker容器;其实可以看做是一个linux操作系统;里面装好了jdk和tomcat;进入容器的操作和日常在linux中部署tomcat操作一致。
docker exec -it paaswebtomcat bash
#退出容器使用exit 命令

2、上传WAR到镜像中

       #首先需要把应用程序打成war包并且拷贝到虚拟机的某个目录;并且在war所在目录执行以下命令
       docker cp paas-web.war paaswebtomcat:/usr/local/tomcat/webapps

              3、重新启动tomcat,然后 现在虚拟机中访问;看看是否正常

       docker restart      

       四、生成新的镜像并且push到公司的docker仓库

     #将部署好web应用的镜像进行提交;这样会在本地生成一个新的镜像
     docker commit -a "huzd<huzd@si-tech.com.cn>" -m "label docker version" 8c083030f072 paasweb:v1.5.1
    #登录公司的镜像库;需要输入账号密码
     docker login 172.88.231.30:5000
  #标记镜像
    docker tag paasweb:v1.5.1 172.88.231.30:5000/si-tech/paasweb:v1.5.1
#推送到公司私有库
     docker push 172.88.231.30:5000/si-tech/paasweb:v1.5.1

      五、在公司的容器平台系统上做界面化部署

             这一部分的内容涉及到公司的系统; 就不做截图介绍了。

        

           以上是为了熟悉整个docker我手动处理的整个过程;一旦熟悉建议大家是使用Dockerfile来进行操作;要方便的多!

           收工。