容器核心知识:容器是什么;容器解决的问题;Docker 架构(Docker 组件);组件协作过程; info、version

 容器是什么

容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。
容器由两部分组成:
  1.应用程序本身
  2.依赖:比如应用程序需要的库或其他软件

容器与虚拟机的区别:

如图所示:

  所有的容器共享同一个 Host OS,这使得容器在体积上要比虚拟机小很多。
  启动容器不需要启动整个操作系统,所以容器部署和启动速度更快,开销更小,也更容易迁移。

 容器解决的问题

容器使软件具备了超强的可移植能力。

复制代码
docker特性;容器的优势
================================================
docker特性:
  打包对象:任何软件及其依赖
  硬件依赖:容器无需修改便可运行在几乎所有的平台上 -- 虚拟机、物理机、公有云、私有云
  隔离性:资源、网络、库都是隔离的,不会出现依赖问题
  自动化:提供 run, start, stop 等标准化操作,非常适合自动化
  高效性:轻量级,能够快速启动和迁移
  职责分工:开发人员只需考虑怎么写代码;运维人员只需关心如何配置基础环境
容器的优势:
  对于开发人员 - Build Once, Run Anywhere
  对于运维人员 - Configure Once, Run Anything
docker特性;容器的优势
复制代码

Docker 架构(Docker 组件)

Docker 的核心组件包括:
  1.Docker 客户端 - Client
  2.Docker 服务器 - Docker daemon
  3.Docker 镜像 - Image
  4.Registry
  5.Docker 容器 - Container

 

Docker 采用的是 Client/Server 架构。
  Client:最常用的 Docker 客户端是 docker 命令。用户也可以通过 REST API 与服务器通信。
  ServerDocker daemon 是服务器组件,以 Linux 后台服务的方式运行。
    Docker daemon 运行在 Docker host 上,负责创建、运行、监控容器,构建、存储镜像。

Docker 镜像可将 Docker 镜像看着只读模板,通过它可以创建 Docker 容器。

Registry :存放 Docker 镜像的仓库,Registry 分私有和公有两种。
  Docker Hub(https://hub.docker.com/) 是默认的 Registry,由 Docker 公司维护,上面有数以万计的镜像,用户可以自由下载和使用。

Docker 容器: Docker 镜像的运行实例。

Docker 组件协作过程

docker run -d -p 80:80 httpd

容器启动过程如下:
  1.Docker 客户端执行 docker run 命令。
  2.Docker daemon 发现本地没有 httpd 镜像。
  3.Docker daemon 从 Docker Hub 下载镜像。
  4.下载完成,镜像 httpd 被保存到本地。
  5.Docker daemon 启动容器。

 ==================================================

其他:

docker是基于linux container的
linux中称谓的container在内核层面由两个独立的机制保证,一个保证资源的隔离性,名为namespace;一个进行资源的控制,名为cgroup。

docker的各个功能对linux内核的版本要求不同,linux内核版本高于3.8.x,即可以支持全部功能
docker是一个client-server结构的系统,docker的守护进程运行在主机上,通过socket从客户端访问

docker的构成:docker仓库+docker自身组件
docker自身组件:docker client + docker server + docker 镜像

------------------------------

docker info #查看docker信息,需要关注的有version和Storage Driver
docker version
docker --help
docker [command] --help

posted @   雲淡風輕333  阅读(104)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示