---
title:
slug:
description:
creation: 2026-06-17
lastmod: " 2026-06-17"
image: cover.png
math:
license:
hidden: false
draft: false
categories:
tags:
  - docker
  - 基础架构
---



# Docker 基础与架构

## 什么是 Docker

Docker 使您能够将应用程序与基础架构分离，从而快速交付软件。借助 Docker，您可以像管理应用程序一样管理基础架构。通过利用 Docker 的代码发布、测试和部署方法，您可以显著缩短从编写代码到在生产环境中运行代码之间的延迟。

Docker 提供了在松散隔离的环境中（称为容器）打包和运行应用程序的功能。这种隔离性和安全性使您可以在给定主机上同时运行多个容器。容器是轻量级的，包含运行应用程序所需的一切，因此您无需依赖主机上安装的内容。您可以在工作时共享容器，并确保与您共享的每个人都能获得相同的容器并以相同的方式工作。

Docker 提供了工具和平台来管理容器的生命周期：
- 使用容器开发您的应用程序及其支持组件。
- 容器成为分发和测试应用程序的单元。
- 准备就绪后，将应用程序以容器或编排服务的形式部署到生产环境中。无论您的生产环境是本地数据中心、云提供商还是两者的混合环境，操作都相同。

## Docker 架构

Docker 采用客户端-服务器架构。Docker 客户端与 Docker 守护进程通信，后者负责构建、运行和分发 Docker 容器等繁重工作。Docker 客户端和守护进程可以运行在同一系统上，或者您可以将 Docker 客户端连接到远程 Docker 守护进程。Docker 客户端和守护进程使用 REST API、UNIX 套接字或网络接口进行通信。另一个 Docker 客户端是 [[Docker Compose 与多容器管理|Docker Compose]]，它允许您处理由一组容器组成的应用程序。

<img src="https://chenalna.oss-cn-hangzhou.aliyuncs.com/img/image-20251015230017362.png" alt="image-20251015230017362" style="zoom:50%;" />

- **Docker 守护进程 ( `dockerd` )**：监听 Docker API 请求并管理 Docker 对象，例如镜像、容器、网络和卷。守护进程还可以与其他守护进程通信以管理 Docker 服务。
- **Docker 客户端 ( `docker` )**：是许多 Docker 用户与 Docker 交互的主要方式。当您使用诸如 `docker run` 类的命令时，客户端会将这些命令发送到 `dockerd` ，由后者执行。 `docker` 命令使用 Docker API。Docker 客户端可以与多个守护进程通信。

## Docker Desktop

1. 打开 Docker Desktop 并选择左侧边栏上的**容器**字段。
2. 您可以查看有关容器的信息，包括日志和文件，甚至可以通过选择 **“Exec”** 选项卡来访问 shell。
3. 选择 **“检查”** 字段以获取有关容器的详细信息。您可以执行各种操作，例如暂停、恢复、启动或停止容器，或者浏览 **“日志** ”、 **“绑定挂载”** 、 **“执行”** 、 **“文件”** 和 **“统计信息”** 选项卡。

Docker Desktop 通过简化不同环境中应用程序的设置、配置和兼容性，简化了开发人员的容器管理，从而解决了环境不一致和部署挑战的痛点。