最近公司一刀切的搞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来进行操作;要方便的多!
收工。
本文由 huzd 创作,采用 知识共享署名4.0 国际许可协议进行许可本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名最后编辑时间
为:
2019/11/01 09:43