1. 引言

Docker是一个用于创建、管理和编排容器的应用。容器是运行在操作系统上的一个应用,具有规模小、轻量化的特性。相对于虚拟机技术,容器可以为我们节省大量的系统资源,也正因此,容器可以轻松地在裸机系统以及多种云服务环境中移动。由于Docker是依赖Linux内核的应用,在Linux系统和MacOS系统中安装Docker相对于Windows系统来说比较简单,然而,大部分初学者使用的是Windows系统的电脑,在安装Docker过程中遇到了需要安装WSL、开启CPU虚拟化等问题,这些问题很容易造成安装过程混乱并导致安装失败。因此,本文特意针对Windows系统中安装Docker应用过程进行了详细讲解,帮助读者厘清Docker应用的安装逻辑,实现Docker应用在Windows系统的成功安装和运行。

2. “Docker -> WSL -> Windows”的依赖逻辑

作为一个容器应用,Docker与Linux系统颇有渊源:现代容器技术的是起源于Linux系统的。Linux系统的内核命名空间(Kernel Namespace)、控制组(Control Group)和联合文件系统(Union File System)技术是容器所依赖的基础,Docker所遵循的开放容器计划(The Open Container Initiative, OCI)也是在Linux基金会的支持下运行和发展。所以,要安装Docker,就要先有个Linux系统内核支持。在Windows系统上如何获得Linux系统内核支持呢?答案是使用WSL。WSL是适用于 Linux 的 Windows 子系统,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双引导。有关WSL的具体介绍可以参考微软官方的介绍“什么是适用于 Linux 的 Windows 子系统 | Microsoft Learn”。综上,要想在Windows上安装Docker应用,首先要安装WSL以获得Linux内核支持,然后再安装Docker Desktop应用以运行Docker内核和Docker的图形化操作界面。

3. 安装方法

3.1 安装WSL

在管理员模式下打开 PowerShell 或 Windows 命令提示符应用,打开时要用右键单击并选择“以管理员身份运行”,在终端窗口输入wsl --install命令并执行,执行完成后重启计算机。

wsl --install

WSL会默认安装Linux系统的Ubuntu发行版系统,如果仅为了安装Docker提供Linux内核支持,则使用此默认发型版系统即可。

3.2 安装Docker Desktop

WSL安装完成后,下载并安装Docker Desktop。进入Docker官网”,下载对应系统版本的安装程序,即"Download for Windows"。下载完成后,双击安装包进行安装,安装完成后,打开Docker Desktop应用可以看到初始界面。在界面中需要重点注意的是左下角的Docker内核运行状态是否为绿底显示的“Engine Running”或者“”。

Docker Desktop 初始界面

4. 是否安装成功?初始化一个容器试试。

打开命令行终端,我们可以使用docker container命令初始化一个容器。

$ docker container run -it debian:stable /bin/bash

Unable to find image 'debian:stable' locally

stable: Pulling from library/debian

…(省略)

Status: Downloaded newer image for debian:stable

$ [root@docker-id]# 

当你看到命令行界面多出了[root@docker-id]#之后,说明你已经成功的进入了CentOS系统了。接下来,我们可以在容器(Container)中尝试几个简单的命令:
(1)使用pwd命令查看所在目录
(2)使用ls命令查看目录下的文件列表

当我们想退出docker环境,回到我们的本机的shell,可以使用exit命令退出。

除了使用命令行操作Docker之外,我们也可以使用Docker Desktop这个图形化界面进行镜像管理、容器管理、数据卷管理等操作,操作界面很直观,本文不多赘述。

至此,Docker就安装成功了,我们可以使用Docker随时随地的创建带有系统、应用及服务的容器了。

FAQ

  1. 微软官方对于WSL安装的更详细介绍可见“安装 WSL | Microsoft Learn”。
  2. WSL安装过程中可能遇到的常见问题解决方案可见“排查适用于 Linux 的 Windows 子系统问题”.
Last modification:May 8, 2024
您赞赏,我就多写点儿。