Docker学习笔记1-Docker简介
Docker简介
一、前置知识和课程定位
-
前置知识
1.1 强制
熟悉linux命令和相关背景知识
1.2 建议
Maven和Git相关的知识
Git仓库、Git命令
-
课程时间
1.5 天
-
课程定位和范围(立足于我们的JavaEE方向)
3.1 参考招聘网方向(java开发和docker开发)
- JavaEE java SpringMVC/springboot/mybatis……
- Docker Go docker开发运维方向
3.2 视频发布风格
- Docker基础篇(快速上手)
- Docker 高级篇
二、Docker 是什么
-
为什么会有Docker出现
解决开发和运维之间的相爱相杀,简单说就是之前搬家式交付代码改为现在搬楼式交付
-
Docker理念
Docker是基于Go语言开发的
Build,Ship and Run Any App,Anywhere
只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。
-
Docker是什么
解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。
三、Docker能干什么
-
之前的虚拟机技术
虚拟机技术:
可以在一种操作系统中运行另一种操作系统。而对于底层系统来说,虚拟机就是一个普通的文件。
这类虚拟机完美的运行了另一套系统,能够使应用程序,操作系统,和硬件三者之间的逻辑不变。缺点:
(1)资源占用多; (2)冗余步骤多 (3)启动慢
-
容器虚拟化技术
由于之前的虚拟机存在的诸多缺点,Linux发展出了另一种虚拟化的技术:Linux容器技术
Linux容器不是模拟一个完整的操作系统,而是对进程进行了隔离。
有了容器,就可以将软件运行所需要的所有资源打包到一个隔离的容器中。
容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置。
因此,系统高效,轻量。
Docker和传统虚拟机比较:
- 传统的虚拟机技术,是虚拟出一套硬件,在其上运行一个完整的操作系统,在该系统上运行所需的应用进程
- 容器内的应用进程直接运行在宿主机的内核中,容器没有自己的内核,而且也没有对硬件进行虚拟
- 每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会互相影响,能区分计算资源
Docker实质是一个浓缩的linux系统
-
开发/运维(DevOps)
开发自运维
一次构建,随处运行
更快速的应用交付和部署 更便捷的扩容缩容 更简单的系统运维 更高效的计算资源利用
四、去哪儿下
凡技术,必官网
-
官网
Docker官网:
Docker中文网站:https://www.docker-cn.com/
-
仓库
Docker的三要素:镜像、容器、仓库
Dockerhub :仓库https://hub.docker.com/