前言

大家好,我是潇潇雨声,今天为大家带来一篇关于在 Windows 环境下使用 Docker 的教程。对于 Docker,我们可以简单地将其看作一种方便的软件安装方式,而无需深入涉及其复杂的概念。选择使用 Docker 主要是为了省事,比如在 Windows 上安装 MySQL、Redis 等软件时,繁琐的配置可能会成为阻碍前进的绊脚石。而使用 Docker 后,部署仅需一键操作,无需为琐碎的配置和晦涩的英文文档而烦恼。

WSL2

什么是 WSL?

WSL 全称是 Windows Subsystem for Linux ,适用于 Linux 的 Windows 子系统,允许在 Windows 操作系统上运行 Linux 二进制文件,使开发人员能够在 Windows 环境中方便地使用 Linux 工具和应用程序。说人话就是在 windows 上不安装 Linux 系统或者不使用虚拟机便可以体验双系统。

启动 WSL
  1. 打开控制面板
alt
  1. 点击启用或关闭 windows 功能,然后勾选上 Hyper-V 以及适用于 Linux 的 Windows 子系统
alt
alt
alt

安装 Ubuntu

有了 WSL必要的虚拟化技术,接下来去 Microsoft Store 下载并安装 Linux 发行版,这里以 Ubuntu 22.04.3 LTS 为例。 alt

双击启动 Ubuntu

alt

我第一次启动的时候并没有成功,报错如下

alt

造成该问题的原因是WSL版本由原来的WSL1升级到WSL2后内核没有升级前往微软 WSL 官网[1]下载安装适用于x64计算机的最新WS2Linux内核更新包即可下载链接https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi。

按照提示初次设置用户名和密码,注意用户名不支持大写。 alt

下载 Docker Desktop

前往 Docker 下载 windows 的 Docker Desktop,下载链接:https://docs.docker.com/desktop/install/windows-install/

alt

无脑安装 Docker Desktop

下载完成之后,点击安装,一直下一步,完成之后,就可以使用了。

alt
alt
alt

启动 Docker Desktop

点击 Accept,然后登录自己的 Docker 账号。

alt

配置 Docker

  1. 打开设置
alt
  1. 配置国内镜像

​ 选择 Docker Engine 添加如下配置:

json 配置信息如下:

{
  "builder": {
    "gc": {
      "defaultKeepStorage""20GB",
      "enabled"true
    }
  },
  "dns": [
    "8.8.8.8",
    "8.8.4.4"
  ],
  "experimental"false,
  "features": {
    "buildkit"true
  },
  "insecure-registries": [
    "https://hub.atguigu.com"
  ],
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://mirror.ccs.tencentyun.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://cr.console.aliyun.com/"
  ]
}
alt

终端命令验证 Dcoker 是否安装成功

进入 cmd 窗口,输入 docker version

alt

注意 docker-compose 在 win 版本的 Docker 中已经默认安装了

我们来测试一下,按下 win + R输入CMD 输入 docker-compose --version

alt
执行 hello world
docker run hello-world
alt

运行成功后就可以在 Docker Desktop 中看到 hello-world

alt

如果觉得我的分享对您有帮助,请关注我。创作不易,您的三连就是对我最大的支持。

alt

Reference

[1]

微软 WSL 官网: https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐