快速上手:Docker 安装详细教程(适用于 Windows、macOS、Linux)

快速上手:Docker 安装详细教程(适用于 Windows、macOS、Linux)


Docker 是一款开源容器化平台,广泛应用于开发、测试和部署。本文将为您提供分步骤的 Docker 安装教程,涵盖 Windows、macOS 和 Linux 系统。


**一、Docker 安装前的准备工作**

在安装 Docker 之前,确保满足以下条件:

  1. **操作系统要求**:
  • Windows 10 或更高版本(需启用 WSL 2)。

  • macOS 10.15(Catalina)或更高版本。

  • Linux 支持主流发行版(如 Ubuntu、CentOS)。

  1. **硬件要求**:
  • 至少 4GB 的内存。

  • 支持虚拟化技术(如 VT-x 或 AMD-V)。

  1. **网络需求**:
  • 安装过程中需要稳定的网络连接。

**二、安装步骤**

**1. Windows 平台**

1.1 下载 Docker Desktop

  1. 打开 [Docker 官方网站](https://www.docker.com/products/docker-desktop)。

  2. 选择 **Get Docker**,下载适用于 Windows 的安装包。

1.2 安装 Docker Desktop

  1. 双击下载的安装文件(如 `Docker Desktop Installer.exe`)。

  2. 在安装向导中,勾选 **Enable WSL 2 Features**,确保启用了 WSL 2。

  3. 点击安装,等待安装完成。

1.3 启用 WSL 2(若未启用)

  1. 打开 PowerShell,以管理员身份运行以下命令,安装 WSL:

```bash

wsl --install

```

  1. 设置默认 WSL 版本为 WSL 2:

```bash

wsl --set-default-version 2

```

1.4 配置 Docker Desktop

  1. 安装完成后,启动 Docker Desktop。

  2. 登录 Docker Hub 账号(若无账号,可前往 [Docker Hub](https://hub.docker.com/) 免费注册)。

  3. 确认 Docker Desktop 显示 **Running** 状态。

1.5 验证安装

在 PowerShell 中运行以下命令,确认 Docker 已正确安装:

```bash

docker --version

```

**示例输出**:

```

Docker version 24.x.x, build xxxxxxx

```


**2. macOS 平台**

2.1 下载 Docker Desktop

  1. 前往 [Docker 官方网站](https://www.docker.com/products/docker-desktop)。

  2. 选择适用于 macOS 的版本并下载。

2.2 安装 Docker Desktop

  1. 下载完成后,双击 `.dmg` 文件。

  2. 将 Docker 图标拖入 **Applications** 文件夹。

  3. 打开 **Applications**,运行 Docker。

2.3 登录并配置

  1. 启动 Docker Desktop 时,可能会提示输入管理员密码,输入后继续。

  2. 登录 Docker Hub 账号,完成配置。

2.4 验证安装

打开终端,运行以下命令:

```bash

docker --version

```

**示例输出**:

```

Docker version 24.x.x, build xxxxxxx

```


**3. Linux 平台**

3.1 安装 Docker 引擎(以 Ubuntu 为例)

  1. 更新系统软件包:

```bash

sudo apt update

sudo apt upgrade

```

  1. 安装必要的依赖项:

```bash

sudo apt install apt-transport-https ca-certificates curl software-properties-common

```

  1. 添加 Docker 官方的 GPG 密钥:

```bash

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

```

  1. 添加 Docker 的软件源:

```bash

echo "deb [arch=(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg\] https://download.docker.com/linux/ubuntu (lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

```

  1. 更新软件包列表并安装 Docker:

```bash

sudo apt update

sudo apt install docker-ce docker-ce-cli containerd.io

```

3.2 启动并配置 Docker

  1. 启动 Docker 服务:

```bash

sudo systemctl start docker

```

  1. 设置开机自启动:

```bash

sudo systemctl enable docker

```

  1. 将当前用户加入 `docker` 用户组(可选):

```bash

sudo usermod -aG docker $USER

```

**注意**:执行此命令后需重新登录以生效。

3.3 验证安装

运行以下命令检查 Docker 是否安装成功:

```bash

docker --version

```

**示例输出**:

```

Docker version 24.x.x, build xxxxxxx

```


**三、验证 Docker 是否正常运行**

无论在哪个操作系统上安装完成 Docker,都可以通过以下命令验证其功能:

  1. 运行测试镜像:

```bash

docker run hello-world

```

  1. 如果安装成功,会输出以下内容:

```

Hello from Docker!

This message shows that your installation appears to be working correctly.

```


**四、常见问题及解决方法**

1. 启动 Docker 时失败

  • **原因**:未启用虚拟化。

  • **解决方法**:进入 BIOS,启用 CPU 的虚拟化支持(如 VT-x 或 AMD-V)。

2. Linux 下无权限运行 Docker 命令

  • **原因**:当前用户不在 `docker` 用户组中。

  • **解决方法**:

```bash

sudo usermod -aG docker $USER

```

3. WSL 2 配置错误(Windows)

  • **原因**:WSL 2 内核未正确安装。

  • **解决方法**:

  1. 下载 [WSL 2 更新包](https://aka.ms/wsl2kernel)。

  2. 安装后重新启动 Docker Desktop。


**五、后续学习方向**

完成 Docker 安装后,您可以学习以下内容以深入了解 Docker:

  1. **常用命令**:如 `docker pull`, `docker build`, `docker run`, `docker ps`, `docker stop` 等。

  2. **创建自定义镜像**:学习编写 Dockerfile。

  3. **Docker Compose**:管理多个容器的工具。

  4. **容器编排**:学习 Kubernetes 等技术。

Docker 是现代开发和部署的核心工具之一,掌握它将极大提高您的工作效率!

相关推荐
人类恶.42 分钟前
C 语言学习笔记(6)
c语言·笔记·学习
SY师弟1 小时前
51单片机——交通指示灯控制器设计
c语言·单片机·嵌入式硬件·51单片机
凤年徐1 小时前
【C/C++】自定义类型:结构体
c语言·开发语言·c++·经验分享·笔记·算法
Inverse1622 小时前
C语言_自定义类型:结构体
c语言·开发语言·算法
czy878747510 小时前
C语言主要标准版本的演进与核心区别的对比分析
c语言
巨龙之路11 小时前
C语言中的assert
c语言·开发语言
吃个早饭16 小时前
2025年第十六届蓝桥杯大赛软件赛C/C++大学B组题解
c语言·c++·蓝桥杯
qwertyuiop_i17 小时前
pe文件二进制解析(用c/c++解析一个二进制pe文件)
c语言·c++·pe文件
我叫珂蛋儿吖19 小时前
[redis进阶六]详解redis作为缓存&&分布式锁
运维·c语言·数据库·c++·redis·分布式·缓存
周Echo周20 小时前
20、map和set、unordered_map、un_ordered_set的复现
c语言·开发语言·数据结构·c++·算法·leetcode·list