---
url: https://eoht.net/fe/docker/install.md
description: 介绍 Docker 的镜像、容器和仓库，区分 Linux 安装方式，验证 Docker Engine，并按安装来源卸载软件和保留数据。
---

# Docker 是什么及如何安装：镜像、容器、启动与卸载 {#docker-introduction-and-installation}

Docker 是用于构建、分发和运行容器化应用的平台，可将应用与依赖打包为镜像。本文说明核心概念，并给出使用 systemd 的 Linux 主机上的安装与检查方法。

## Docker 技术简介 {#docker-overview}

Docker 使用客户端与 daemon 通信来管理镜像、容器、网络和卷。Linux 容器与宿主机共享内核，通过命名空间、资源限制等机制隔离进程；容器仍可通过配置的网络和挂载交换数据。

容器与虚拟机的区别主要在隔离方式：虚拟机运行自己的客户机内核，容器通常复用宿主机内核。启动时间、体积和性能取决于应用与镜像，不能一概写成“只有几兆”或“完全没有接口”。

## Docker 的应用场景 {#docker-use-cases}

1. Web 应用自动化打包和发布。
2. 自动化测试与持续集成。
3. 部署数据库或其他后台服务。
4. 统一开发、测试和生产使用的应用依赖。

镜像可减少环境差异，但架构、内核能力、运行配置和外部数据仍会影响结果。

## Docker 的组成 {#docker-components}

| 组件 | 用途 |
| --- | --- |
| 镜像 | 创建容器所用的分层模板，包含应用及其依赖 |
| 容器 | 从镜像创建的运行实例，带有自己的可写层和运行配置 |
| 客户端 | 通过 Docker API 与 daemon 通信，例如 `docker` 命令 |
| 主机 | 运行 daemon 与容器的物理机或虚拟机 |
| daemon | 管理镜像、容器、网络与卷的服务器进程 |
| 镜像仓库 | 保存与分发镜像，如 Docker Hub 或组织的私有仓库 |

## 安装 Docker {#one-command-docker-installation}

先确认发行版与架构：

```sh
cat /etc/os-release
uname -m
```

生产主机优先按对应发行版的官方仓库步骤安装：[Debian](https://docs.docker.com/engine/install/debian/)、[Ubuntu](https://docs.docker.com/engine/install/ubuntu/)。支持版本、冲突包和软件源配置以对应文档为准，不要把其他发行版的命令直接混用。macOS / Windows 用户可从 [Docker Desktop](https://docs.docker.com/desktop/) 开始。

对于开发或测试主机，官方提供 convenience script。先下载和检查，再执行：

```sh
curl -fsSL https://get.docker.com -o get-docker.sh
less get-docker.sh
sudo sh get-docker.sh --dry-run
```

确认脚本识别的系统、软件源和将要执行的操作符合预期后，才安装：

```sh
sudo sh get-docker.sh
```

该脚本会修改系统软件源并安装依赖，不建议在已有 Docker 的生产主机上用它执行升级。升级应沿用既有的包管理渠道。

## 启动并验证 Docker {#start-docker-service}

```sh
sudo systemctl enable --now docker
sudo systemctl status docker --no-pager
sudo docker version
sudo docker run --rm hello-world
```

`docker version` 应能显示客户端和服务端信息；最后一项需要可拉取镜像。连接 daemon 失败、网络拉取失败与容器执行失败是不同问题，应按实际错误排查。

## 卸载 Docker {#uninstall-docker}

以下适用于通过 Docker 官方 APT 仓库安装的 Debian / Ubuntu 软件包，包括对应系统上的官方 convenience script 安装。先检查已安装的包：

```sh
dpkg-query -W 'docker*' 'containerd*' 2>/dev/null
```

确认来源后，卸载官方包：

```sh
sudo apt remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
```

若某个可选包未安装，按本机包清单调整。发行版提供的 `docker.io`、Snap 或 Docker Desktop 需按各自渠道卸载。

卸载软件不会自动清除 `/var/lib/docker`、`/var/lib/containerd` 或自行挂载的数据。需要重新安装或保留应用数据时保留这些目录；只有完成备份并确认无需恢复后，才单独规划数据删除。

继续了解：[Docker 容器常用操作](/fe/docker/container)、[Docker 镜像与容器操作教程](/fe/docker/mirror)和[Docker 镜像加速器配置](/fe/docker/mirror-source)。
