快速上手: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 是现代开发和部署的核心工具之一,掌握它将极大提高您的工作效率!

相关推荐
X***489610 分钟前
C源代码生成器
c语言·开发语言
合作小小程序员小小店2 小时前
桌面安全开发,桌面二进制%恶意行为拦截查杀%系统安全开发3.0,基于c/c++语言,mfc,win32,ring3,dll,hook,inject,无数据库
c语言·开发语言·c++·安全·系统安全
oioihoii5 小时前
C++语言演进之路:从“C with Classes”到现代编程基石
java·c语言·c++
历程里程碑8 小时前
各种排序法大全
c语言·数据结构·笔记·算法·排序算法
树在风中摇曳8 小时前
带哨兵位的双向循环链表详解(含 C 代码)+ LeetCode138 深度解析 + 顺序表 vs 链表缓存机制对比(图解 CPU 层级)
c语言·链表·缓存
雨落在了我的手上8 小时前
C语言入门(二十一):字符函数和字符串函数(1)
c语言
embrace999 小时前
【C语言学习】结构体详解
android·c语言·开发语言·数据结构·学习·算法·青少年编程
EXtreme3510 小时前
深入浅出数据结构:手把手实现动态顺序表,从此不再怕数组扩容!
c语言·顺序表·malloc·realloc
薛慕昭21 小时前
嵌入式 C 语言猜大小游戏设计与实现
c语言·游戏
月光技术杂谈21 小时前
实战:C驱动框架嵌入Rust模块的互操作机制与完整流程
c语言·开发语言·rust·ffi·跨语言·bindgen·互操作