1、什么是Docker?
1、Docker是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化
2、 Docker的主要目标是‘build ,ship and run any app,anywhere’,也就是说通过对应用程序组件的封装,分发,部署,运行等生命周期的管理。使用户的app(可以是一个web应用程序或者数据库应用等)及其运行环境能够做到‘一次封装,到处运行’。
2、为什么需要使用docker?
Docker:虚拟化容器技术
Docker主要解决我们开发环境配置迁移的问题。
1.我们现在开发了一个javaweb项目,需要依赖很多环境配置 比如:Tomcat、JDK环境、Nginx、Redis环境等。
2.本地需要安装这些环境Tomcat、JDK环境、Nginx、Redis环境等,在打war包给运维部署在linux服务器,运维人员也需要在linux服务器上安装Tomcat、JDK环境、Nginx、Redis环境。
3.但是有时候可能会发生这些问题:我在本地运行环境没有问题,但是打包到Linux服务器运行总是遇到很多错误,大多数由于一些版本冲突影响。
4.所以在这时候我们就可以使用docker部署和安装软件就非常方便,直接将该springboot项目制作成一个镜像文件,镜像文件中包含jdk版本 tomcat版本信息 直接部署linux即可,减少依赖冲突概率
3、使用docker的好处
1.简化配置安装创建非常的方便
2.代码流水线(Code Pipeline)管理传统项目部署可能需要经过很多环节,
3.容易产生版本的依赖冲突问题,Docker给应用提供了一个从开发到上线均一致的环境,让代码的流水线变得简单不少
4.Devops开发与运维一体化减少沟通的成本(docker或者是k8s实现)
5.虚拟技术快速部署
6.弹性扩容
4、Docker的应用场景
1.Web应用的自动化打包和发布。
2.自动化测试和持续集成、发布。
3.在服务型环境中部署和调整数据库或其他的后台应用。
4.从头编译或者扩展现有的OpenShift或 Cloud Foundry 平台来搭建自己的 PaaS 环境
5、Docker安装
Docker要求 CentOS7系统的内核版本在 3.10以上,查看本页面的前提条件来验证你的CentOS版本是否支持 Docker
1.通过uname -r命令查看你当前的内核版本
Docker版本2.使用root 权限登录 Centos,确保 yum 包更新到最新,命令:yum -y update
yml包加载完毕3.卸载旧版本(如果安装过旧版本的话)
命令:yum remove docker docker-common docker-selinux docker-engine
卸载旧版本4.安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
命令:yum install -y yum-utils device-mapper-persistent-data lvm2
安装utils和manager5.设置yum源
命令:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6.可以查看所有仓库中所有docker版本,并选择特定版本安装
命令:yum list docker-ce --showduplicates | sort -r
7.安装docker,由于repo中默认只开启stable仓库,这里安装的是最新稳定版18.03.1
命令:sudo yum install -y docker-ce
8. 启动并加入开机启动
启动命令:systemctl start docker
开机启动命令systemctl enable docker
9.验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
client与service两部分
网友评论