版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

容器技术的介绍

提示

注意我们这里所说的容器container是指的一种技术,而Docker只是一个容器技术的实现,或者说让容器技术普及开来的最成功的实现。

什么是容器

容器是一种快速的打包技术

Package Software into Standardized Units for Development, Shipment and Deployment。

  • 标准化
  • 轻量级
  • 易移植
提示

可以将容器理解成进程级别的虚拟机,一个容器只为一个或几个进程提供运行环境。由于容器不必模拟整个操作系统运行环境,所以足够轻量,可以做到秒级启动。

为什么容器技术会出现

容器技术出现之前:

容器技术出现之后:

容器 vs 虚拟机

参考:https://k21academy.com/docker-kubernetes/docker-vs-virtual-machine/

Linux Container容器技术的诞生于2008年(Docker诞生于2013年),解决了IT世界里“集装箱运输”的问题。Linux Container(简称LXC)它是一种内核轻量级的操作系统层虚拟化技术。Linux Container主要由Namespace和Cgroups两大机制来保证实现。

  • Namespace命名空间主要用于资源的隔离(诞生于2002年)
  • Cgroups(Control Groups)就负责资源管理控制作用,比如进程组使用CPU/MEM的限制,进程组的优先级控制,进程组的挂起和恢复等等。(由Google贡献,2008年合并到了Linux Kernel)

参考链接:

https://en.wikipedia.org/wiki/Linux_namespaces

https://en.wikipedia.org/wiki/Cgroups

容器的标准化

提示

docker != container

容器是一种技术手段,docker是容器技术的一种实现,类似的技术还有Podman。

在2015年,由Google,Docker、红帽等厂商联合发起了OCI(Open Container Initiative)组织,致力于容器技术的标准化。参考链接:https://opencontainers.org/

提示

容器技术的标准化包括容器镜像标准化(image spec)和容器运行时标准化(runtime spec),类似于CD光盘的标准化和CD播放机的标准化。

容器运行时标准

简单来讲就是规定了容器的基本操作规范,比如如何下载镜像,创建容器,启动容器等。

容器镜像标准

主要定义镜像的基本格式。

容器是关乎“速度”

  • 容器会加速你的软件开发
  • 容器会加速你的程序编译和构建
  • 容器会加速你的测试
  • 容器会速度你的部署
  • 容器会加速你的更新
  • 容器会速度你的故障恢复

容器的快速发展和普及

略略略

Docker架构

提示

Docker是C/S架构,包括后台的Docker daemon,负责管理镜像和容器,以及前端的Docker daemon,也称Docker Engine,负责管理镜像和容器,以及前端的Docker client,负责接收用户的命令行输入。Docker daemon和Docker client之间通过网络通信,所以可以分布在不同的物理机上。除此外,还有Registry用于托管镜像和进行版本管理,其作用类似于GitHub。

安装Docker

Linux系统安装Docker

方法1:直接yum或apt-get进行安装,参考:Install Docker Engine on Ubuntu | Docker Documentation

方法2:下载官方的安装脚本,通过运行脚本进行安装:

代码块
curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh

Windows系统WSL2环境安装Docker

下载Docker Desktop Installer.exe,安装时勾选“Use WSL 2 instead of Hyper-V (recommended)”。

安装成功之后点击“Close and log out”,注销后重新登录,待Docker启动完成后,即可同时在Windows和WSL2上使用Docker。

在Docker Desktop的设置界面中与WSL2相关的配置有两项,一是确保使用WSL2作为Docker引擎,二是选择WSL2的发行版本,如下:

相关链接:

Install Docker Desktop on Windows | Docker Documentation

WSL 上的 Docker 容器入门 | Microsoft Docs

Docker Desktop WSL 2 backend | Docker Documentation

目录