Docker——Docker初识
最近所在公司正在做一个项目,准备使用微服务的架构。推荐使用docker来部署项目。于是开始小白的docker学习之旅。目的只有一个,会简单使用就行。
(前两天刚学了点springcloud,你敢相信我都没有用过java写过项目的小白一来就学这个?额况且连springboot也不太懂。但东西还是得学,或许方式不太对,一来就想大块吃肉了)
先来看看docker吧~
为什么要使用Docker呢?
Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker 的基础是 Linux 容器(LXC)等技术。在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。
Docker的主要目标是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使应用及其运行环境能够做到:一次封装,到处运行。
虚拟机和容器相比,容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。
有什么优点?
一、启动快
Docker 容器的启动可以在秒级实现。
二、资源利用效率高
Docker 对系统资源的利用率很高,相对于传统虚拟机技术。(单机支持上千个容器。一个相同配置的主机,往往比传统虚拟机可运行更多数量的应用)。
三、保证运行环境一致性
开发环境,测试环境,生产环境一致。
四、更简单的运维管理
所有的修改都以增量的方式被分发和更新,实现自动化并且高效的管理。
五、持续交付和部署
一次创建或配置,可以在任意地方正常运行。
六、高效迁移和扩展
运行环境一致性,让迁移更容易。且几乎可以在任意的平台上运行,跨平台。
认识Docker
Docker:Securely build, share and run any application, anywhere
Docker 中的三个基本概念:
1.镜像(Image):一个特殊的文件系统,相当于一个rootfs(根文件系统)。提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。
2.容器(Container):容器就是将软件打包成标准化单元,以用于开发、交付和部署。镜像和容器的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。容器通过镜像来创建。
3.仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
(ps: 根文件系统:rootfs是linux内核启动后,挂载的第一个文件系统。rootfs不是一个可执行程序,而是一个文件包。能让操作系统正常运行的,是文件夹和文件的大集合)
Docker Registry:集中的存储、分发镜像的服务。一个Docker Registry中可以包含多个仓库(Repository)。每个仓库可以包含多个标签(Tag),每个标签对应一个镜像。
Docker Hub :默认的Registry,提供了庞大的镜像集合供使用。
Docker SDK:可与Docker 的守护进程通信。
欢迎指正,随时修改~
下一步docker的安装