认识Docker
1. Docker简介
1.1 是什么
- docker理念
一次镜像 处处运行
解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。
1.2 容器与虚拟机比较
传统虚拟机技术
- 虚拟机的缺点:
- 资源占用多
- 冗余步骤多
- 启动慢
容器虚拟化技术
对比
Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统
虚拟机则是在硬件层面实现虚拟化。与传统的虚拟机相比,Docker优势体现为启动速
度快、占用体积小。
容器和虚拟机有什么不同?
容器(Containers)和虚拟机(Virtual Machines,简称VMs)都是用于隔离和运行应用程序的技术,通俗来说:
-
容器 就像是一套可以拎包入住的公寓。你只需要把自己的行李(应用程序和它需要的东西)带进来,就可以开始生活(运行程序)。不同的公寓(容器)之间是隔离的,不会互相干扰。
-
虚拟机 则像是一栋每层都有独立公寓的大楼。每个公寓(虚拟机)里面不仅有房间(应用程序),还有自己的一套水电系统(操作系统)和家具(库文件)。这意味着每个虚拟机都需要更多的空间和维护。
-
资源消耗:容器因为共享大楼的水电系统,所以更节省资源。虚拟机则需要为每个公寓都配备一套,所以消耗的资源更多。
-
启动速度:拎包入住的公寓(容器)很快就能开始使用,而配备完整水电系统的公寓(虚拟机)则需要更多时间来准备。
-
移动性:拎包入住的公寓(容器)更容易搬家,因为只需要带着行李(应用程序)走就行。而配备有自己水电系统的公寓(虚拟机)搬家起来就复杂多了。
-
安全性:每个独立公寓(虚拟机)都有自己的门锁和安全系统,所以安全性更高。而拎包入住的公寓(容器)虽然也有门锁,但它们用的是同一套大楼的水电系统,所以理论上存在一定的安全风险。
-
用途:如果你只是短期居住,或者经常需要搬家,拎包入住的公寓(容器)更适合你。如果你打算长期居住,并且需要完全控制自己的居住环境,那么配备有自己水电系统的公寓(虚拟机)可能更合适。
简而言之,容器更轻量、灵活,适合现代快速发展的应用程序部署;虚拟机则更重、更安全,适合需要完全隔离环境的传统应用。
1.3 能干嘛
1.4 安装⭐
- 官网
docker’官网 - 仓库
Docker Hub官网
1.5 Docker的基本组成⭐⭐
- 基本组成
镜像(image)
容器(container)
仓库(repository)
好的,让我们用一些简单的比喻来通俗理解这些术语:
-
镜像(Image):
- 想象一下,你有一个完美的蛋糕模具。这个模具有特定的形状和设计,当你把蛋糕糊倒进去,它就会创造出一个外观和结构都符合模具设计的蛋糕。在容器的世界里,镜像就像这个蛋糕模具,它包含了创建一个容器所需的所有信息和指令,比如操作系统、应用程序及其依赖等。镜像是不可变的,也就是说,一旦创建,它的内容就不会改变。
-
容器(Container):
- 继续用蛋糕的比喻,容器就像是用模具做出来的那个具体的蛋糕。每个蛋糕(容器)都是根据模具(镜像)做出来的,但它们是独立的,可以被移动、存储和分享。容器是镜像的运行实例,它可以被启动、停止、删除,而且每个容器都有自己的生命周期。就像每个蛋糕都是独一无二的,每个容器也可以根据需要进行个性化配置。
-
仓库(Repository):
- 想象一下,你有一个巨大的蛋糕展示柜,里面存放着各种各样的蛋糕模具。这个展示柜就是仓库。在容器技术中,仓库是用来存储和管理镜像的地方。你可以把自己的镜像放到仓库中,也可以从仓库中取出镜像来创建容器。仓库可以是本地的,也可以是远程的,比如Docker Hub这样的公共仓库,或者你自己的私有仓库。
简单来说:
- 镜像是创建容器的蓝图或模板。
- 容器是镜像的实例,是真正运行的实体。
- 仓库是存放和管理这些镜像的地方。
一般公开仓库使用阿里云和网易云。
Docker平台架构图解(入门版)
Docker工作原理
Docker是一个Client-Server
结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容器,是一个运行时环境,就是我们前面说到的集装箱。可以对比mysql演示对比讲解
Docker平台架构图解架构版(深入版)
Docker是一个C/S模式
的架构,后端是一个松耦合架构,众多模块各司其职。
太深入了不懂链接放在这里:
图解 Docker 架构