Docker的学习
Docker的概述
Docker的安装
Docker的命令
镜像命令
容器命令
操作命令
Docker镜像
Docker File
Docker网络原理
IDEA整合Docker
Docker Compose
Docker Swarm
CI/CD Jenkins
知道的越多,不知道的越多!!!!
授人以渔,学习思想
即使再小的帆,也能远航!!
只要学不死,就往死里学!!
Docker的概述
一款产品,开发--》上线,两套环境,应用配置
开发人员----运维人员:问题,我在我的电脑上可以运行,但在服务器上不能运行,版本更新,导致服务不能使用,对于运维来说考验很大
开发即运维
环境配置麻烦,如何解决,每一个集群部署环境(集群Redis、ES/hadoop)费时费力
发布一个项目,能不能带上环境安装打包
之前在服务器上配置一个应用环境(redis/mysql/jdk/ES/hadoop)配置麻烦,不能跨平台
传统:开发jar、运维来做
现在:开发打包部署上线,一套流程上线
Docker给以上的问题,提出了解决方案
Docker的历史
2010年,几个搞IT的年轻人,在美国成立了一家公司,dotClound
做一些pass的云计算服务
他们将自己的技术(容器化技术)命名为Docker
Docker刚诞生的时候没有引起行业注意,在2013年将代码进行开源
在2014年4月9日,Docker 1.0发布
Docker为什么这么火,因为盐分的轻巧
相比于虚拟机VM,没有这么笨重
VM:linux centos 原生镜像,一个电脑,隔离,
Docker 官方地址:
Docker文档地址:
仓库地址:
Docker能做什么?
虚拟机技术:
资源占用十分多
冗余步骤多
启动很慢
容器化技术:
容器化技术不是一个完整的的操作系统
Docker与虚拟机技术的不同
1、传统虚拟机,虚拟出一套硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
2、容器内的应用运行在宿主主机的内容,容器没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了
3、每个容器间互相隔离,每个容器内都有一个属于自己的文件系统,互不影响
DevOps(开发、运维)
1、更快速的交互和部署
传统:一堆部署文档安装程序
Docker:打包镜像发布测试,一键运行
2、更便捷升级或扩缩容
使用了Docker之后,我们部署应用就和搭积木一样
我使用spring boot 、redis、tomcat 8
项目打包为一个镜像,扩展服务器到A、服务器B
3、更简单的系统运维
容器化之后,我们的开发、测试环境是高度一致的
4、更高效的计算资源利用
Docker 是内核级别的虚拟化,可以在一个物理机上运行很多的容器实例
服务器的性能能压榨到极致