当前位置: 首页 > news >正文

Docker快速入门——第一章Docker入门

Docker是什么

官网的介绍,原文如下:

Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications. By taking advantage of Docker’s methodologies for shipping, testing, and deploying code quickly, you can significantly reduce the delay between writing code and running it in production

以下是官网翻译:

Docker是一个开源的平台,我们可以用Docker来开发,部署和运行我们的应用程序。Docker可以帮助我们将应用程序和底层基础设施进行分离,以帮助我们更快的实现交付。通过Docker技术,我们可以像管理我们的应用一样管理我们的基础设施(比如操作系统、依赖的开发包等)。通过Docker技术,可以精简我们的整个开发和交互流程。

Docker主要由以下部分组成:

Docker Client(客户端)

作用:Docker Client是用户与Docker系统交互的主要接口

功能:

  • 用户通过命令行或者Docker API 向 Docker Daemon发送指令
  • 它本身不执行容器操作,而是将命令转发给Docker Daemon

" 简单理解:Docker Client 就是你在终端输入 docker 命令时使用的“遥控器” 。"


Docker Daemon(守护进程)

作用:Docker Daemon(dockerd)是Docker的后台服务进程,负责管理Docker对象(如镜像、容器、网络、卷等)。

功能:

  • 接收来自Docker Client的请求
  • 执行实际的容器创建、启动、停止、删除等操作
  • 管理本地镜像存储、容器生命周期、网络配置等
  • 与Docker Registry通信以拉取或推送镜像
// 启动Docker daemon可以通过如下命令service docker start//或者systemctl  start docker.service

启动成功后,通过ps命令即可看到docker daemon进程:

ps aux | grep dockerd

"简单理解:Docker Daemon是“幕后工作者”,真正干活的“引擎”。"


Docker Registry(注册中心)

作用:Docker Registry是用于存储和分发Docker镜像的服务

功能:

  • 存储Docker镜像(包括不同标签的版本)
  • 支持用户通过 docker pull 下载镜像,或通过 doocker push 上传镜像

注册中心有很多,常见的如官方的 Docker Hub,另外,各大云厂商也提供了自己的注册中心,比如阿里云、腾讯云等,甚至你也可以搭建自己的私有注册中心。

Docker 默认使用 Docker Hub,比如我们执行 docker pull <image-name> 时,Docker 默认去 Docker Hub 中寻找名字为 image-name 的镜像。如果使用自己的 Registry 需要进行单独的配置。

"简单理解:Docker Registry 就像“镜像仓库”,类似于GitHub之于代码。"


Docker 镜像(Images) 是一个只读模板,用于创建Docker容器(Container)它包含了运行某一个应用程序所需的一切:

  • 操作系统基础(如Ubuntu、Alpine)
  • 运行时环境(如Python、Node.js、Java)
  • 应用代码
  • 依赖库、配置文件等

“📌类比理解:

镜像(Image) ≈ 类(Class)

容器(Container) ≈ 对象(Instance)
你可以用同一个镜像启动多个容器,就像用一个类创建多个对象。”


三者协作流程示例:

  1. 用户在终端输入:docker run hello-world
  2. Docker Client 接收到命令,发送给 Docker Daemon
  3. Docker Daemon 检查本地是否有 hello-world 镜像:如果没有,就向 Docker Registry(如 Docker Hub)请求拉取该镜像。
  4. 镜像下载完成后,Docker Daemon 创建并启动一个容器。
  5. 容器运行结果通过 Docker Client 返回给用户。

Docker和虚拟机的区别

虚拟机

虚拟机(Virtual Machine,简称 VM)的发展,减轻了企业对硬件资源的依赖,它将一台物理设备虚拟为多个逻辑设备,每个逻辑设备可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高设备的工作效率。

然而,传统 VM 需要安装操作系统才能执行应用程序,占用系统资源过多。多数情况下,用户只需要运行简单的应用程序,采用 VM 技术操作繁琐且造成资源浪费。倘若需要迁移应用服务程序,则需迁移整个 VM,因此企业迫切需要轻量级的虚拟化技术

Docker

Docker 是一种轻量级的虚拟化技术,目的和虚拟机一样,都是为了创造“隔离环境”。但是它不像 VM 采用操作系统级的资源隔离,容器采用的是进程级的系统隔离。

Docker 作为创建容器的主流工具,近年来迅速发展,它的优势在于可以让开发者将企业需要的各种应用及应用依赖文件封装在 Docker 镜像文件中,然后在任何物理设备(Linux 设备或 Window 设备等)上安装运行实现虚拟化,让应用程序彻底脱离底层设备,可以在物理机之间灵活迁移部署,使运维工程师摆脱了繁琐的环境部署,极大的提高了工作效率,同时减少了部署过程中的潜在风险。

Docker容器具有以下三大特点:

  • 轻量化:一台主机上运行的多个 Docker 容器可以共享主机操作系统内核;启动迅速,只需占用很少的计算和内存资源。
  • 标准开放:Docker 容器基于开放式标准,能够在所有主流 Linux 版本、Microsoft Windows 以及包括 VM、裸机服务器和云在内的任何基础设施上运行。
  • 安全可靠:Docker 赋予应用的隔离性不仅限于彼此隔离,还独立于底层的基础设施。Docker 默认提供最强的隔离,因此应用出现问题,也只是单个容器的问题,而不会波及到整台主机。

虚拟机:

Docker:

"✅简单理解:VM 是“虚拟硬件 → 装系统 → 跑应用” Docker 是“直接在宿主机 OS 上跑应用,但隔离起来”"

"💡 关键区别: "VM 是“虚拟硬件 → 装系统 → 跑应用”
 Docker 是“直接在宿主机 OS 上跑应用,但隔离起来”

http://www.dtcms.com/a/469456.html

相关文章:

  • 建站助手官网淘宝seo具体优化方法
  • 邯郸网站建设哪儿好网站建设参考文献英文书籍
  • STM32 串口收发数据-中断的方式
  • k8s ingress-nginx 学习
  • 【含文档+PPT+源码】基于springboot的旅游路线推荐系统的设计与实现
  • 嘉兴seo网站优化竞价托管的注意事项
  • K8S 概念、安装与核心工作机制详解
  • 做网站需要公司有哪些网站最新点击量排名
  • VUE 开发实例 一则
  • jmeter使用之--MD5加密
  • ESim电工仿真APP使用说明书
  • 【碎片化学习】 Apache JMeter 取样器指南:从入门到精通
  • 【无标题】生活琐记(7)
  • 苍穹外卖day04总结
  • Java Redis “核心基础”面试清单(含超通俗生活案例与深度理解)
  • jmeter中使用正则表达式提取器传递参数
  • 基于大数据的学习资源推送系统的设计与实现 _django
  • 朝阳双桥网站建设竞争对手网站分析
  • 江阴招聘网站建设学徒黄页网页的推广网站
  • C 语言11:输入方法全解析
  • ASP Session详解
  • 如何在 Linux_Ubuntu 上安装 Qt 5:详细教程
  • 前端学习 JavaScript(3)json初识
  • StartAllBack(Win11开始菜单增强工具) 绿色版
  • 大雾天气下摄像头图像去雾技术详解
  • MySQL数据库基础(2)
  • 大模型文生图技术解析:从语言到视觉的智能跨越
  • 水安建设集团网站做任务换流量的网站
  • 【自适应滤波】自适应UKF,基于新息自适应调节Q和R,场景为雷达跟踪与滤波、MATLAB实现
  • C语言文件管理