Docker 安装与入门:Ubuntu、Windows 11 和 macOS

Chen Xi
Chen Xi

Docker 使用操作系统级隔离来打包和运行应用。容器通常比完整虚拟机更轻量,但它不是虚拟机,也不能用来安装一个完整的 Windows 11 桌面系统。

本文于 2026 年 7 月复核。安装要求和支持的操作系统会变化,执行前请同时查看文末官方文档。

1. 先分清 Docker Engine 与 Docker Desktop

  • Docker Engine:主要用于 Linux 服务器,包括守护进程、命令行工具和容器运行时。
  • Docker Desktop:面向 Windows、macOS 和 Linux 桌面用户,集成虚拟化环境、Docker Engine、Compose 等工具。
  • Linux 容器与 Windows 容器:两者使用不同的内核接口。Windows 11 上的 Docker Desktop 默认通过 WSL 2 运行 Linux 容器;Windows 容器需要受支持的 Windows 版本、相应功能和兼容的基础镜像。

2. 在 Ubuntu 上安装 Docker Engine

下面使用 Docker 官方 APT 仓库。不要继续使用旧教程中的 apt-keyapt-transport-https 配置方式。

2.1 添加官方仓库

1
2
3
4
5
6
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
1
2
3
4
5
6
7
8
9
10
sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

2.2 安装并验证

1
2
3
sudo apt install docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world

Docker 服务通常会自动启动,可以这样确认:

1
sudo systemctl status docker

将用户加入 docker 组等同于授予较高的主机权限,不应把它当作普通的便利设置。多用户或不可信环境可进一步了解 Docker Rootless 模式。

3. 在 Windows 11 上安装 Docker Desktop

  1. 在 PowerShell 中运行 wsl --version,确认 WSL 2 已安装并满足 Docker 当前要求。
  2. 如果尚未安装或版本过旧,以管理员身份运行:
1
2
wsl --install
wsl --update
  1. 从 Docker 官方页面下载 Docker Desktop。
  2. 对大多数开发者,选择 WSL 2 后端并运行 Linux 容器即可。
  3. 启动后验证:
1
2
3
docker version
docker run --rm hello-world
docker compose version

Windows Home 适合通过 WSL 2 使用 Linux 容器。Windows 容器有额外的版本、版本标签和隔离模式限制,不能把 windows/servercore 容器理解成完整的 Windows 11。

4. 在 macOS 上安装

从 Docker Desktop 官方页面选择与处理器匹配的版本:

  • Apple 芯片:Apple silicon
  • Intel 处理器:Intel

安装后运行:

1
2
docker version
docker run --rm hello-world

5. 常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 查看本地镜像
docker image ls

# 查看运行中的容器
docker container ls

# 查看所有容器
docker container ls -a

# 运行并在退出后自动删除容器
docker run --rm alpine:latest echo "hello"

# 查看日志
docker logs <container-name>

# 停止并删除容器
docker stop <container-name>
docker rm <container-name>

# 使用 Compose 启动和停止项目
docker compose up -d
docker compose down

删除容器、镜像或卷之前应先确认其中是否有需要保留的数据。特别是卷通常保存数据库等持久化内容。

6. Windows 容器的正确认识

Windows 容器运行 Windows Server Core 或 Nano Server 等基础镜像,并受宿主机版本兼容性影响。镜像标签必须明确,例如 ltsc2022;微软已经不维护这些基础镜像的 latest 标签。

如果只是开发常见的 Web、Python、Go 或数据库服务,Windows 11 上优先使用 WSL 2 的 Linux 容器通常更简单。只有应用依赖 Windows API、IIS 或 .NET Framework 等 Windows 组件时,才需要评估 Windows 容器。

总结

Docker 适合封装应用及其依赖,不适合把完整桌面操作系统塞进容器。生产环境还应继续关注镜像来源、最小权限、端口暴露、数据卷备份和安全更新。

相关阅读:Ubuntu 内核更新与回退

参考资料