文章

windows 环境下 Docker 安装和配置

windows 下安装 Docker

windows 环境下 Docker 安装和配置

安装 wsl 子系统

启用虚拟化

  • 进入 BIOS 中启用虚拟化
  • 控制面板 -> 程序 -> 启用或关闭功能 中开启 Hyper-V适用于Linux的Windows子系统

安装 wsl

管理员权限打开 Powershell

1
2
3
4
wsl --install # 安装
wsl --update # 升级
wsl --set-version 2
wsl --status # 查看 wsl 状态

安装 Ubuntu 子系统(可选)

  • 方法一:从微软应用商店搜索 Ubuntu 并安装
  • 方法二:使用如下命令手动下载 Ubuntu 22.04
1
2
3
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2204 \
    -OutFile Ubuntu2204.appx -UseBasicParsing
Add-AppxPackage .\Ubuntu2204.appx
  • 设置 Ubuntu 为默认子系统
1
2
wsl --list --verbose
wsl --set-default Ubuntu-20.04

运行如下命令并选择 zh_CN.UTF-8 可设置默认语言为中文(未测试)

1
sudo dpkg-reconfigure locales`

安装 Docker Desktop

(方法一)安装 Windows 版的 docker-desktop

  • Docker 官网下载并安装 docker-desktop for windows
  • 可设置如下选项:
    • settings -> resources -> advanced -> Disk Image location
    • settings -> resources -> advanced -> WSL integration

(方法二)在 wsl 子系统安装 Docker

下载 docker for

  • https://download.docker.com/linux/ubuntu/dists/ 根据 Ubuntu 发行代号找到对应版本

Ubuntu 18.04: Bionic Beaver
Ubuntu 20.04: Focal Fossa
Ubuntu 22.04: Jammy Jellyfish
Ubuntu 22.10: Kinetic Kudu

在 wsl Ubuntu 内安装 Docker

1
2
3
4
5
6
sudo dpkg -i containerd.io_1.6.33-1_amd64.deb
sudo dpkg -i docker-ce-cli_26.1.4-1~ubuntu.22.04~jammy_amd64.deb
sudo dpkg -i docker-ce_26.1.4-1~ubuntu.22.04~jammy_amd64.deb
sudo dpkg -i docker-buildx-plugin_0.14.1-1~ubuntu.22.04~jammy_amd64.deb
sudo dpkg -i docker-compose-plugin_2.27.1-1~ubuntu.22.04~jammy_amd64.deb
sudo dpkg -i docker-ce-rootless-extras_26.1.4-1~ubuntu.22.04~jammy_amd64.deb

检查Docker服务的状态和安装的版本

1
sudo docker version

查看系统启动类型

查看系统是用 sysvinit 还是 systemd 启动的

1
ps -p 1 -o comm=

如果是显示的是 init,则使用 sysvinit 命令,否则使用 systemctl 命令

添加自启动

在系统启动时自动启动Docker服务

1
2
3
4
sudo service docker start
sudo service docker enable
sudo service docker status
sudo chkconfig docker on
  • 如果有镜像,可以 wsl --import 导入

wsl 相关命令

查看 wsl 虚拟机状态并停止

1
2
    wsl -l -v # 查看虚拟机状态
    wsl --shutdown vm-name # 停止虚拟机

迁移虚拟机

1
2
3
wsl --export Ubuntu-20.04 D:\\ProgramData\\WSL\\Ubuntu\\Ubuntu.tar
wsl --unregister Ubuntu-22.04 # 注销虚拟机
wsl --import Ubuntu-22.04 E:\\wsl\\vm D:\\ProgramData\\WSL\\Ubuntu\\Ubuntu.tar

等待命令执行完毕,就可以重新启动Ubuntu了。这时候,会发现原来的默认用户没了。

恢复默认用户

执行如下命令Linux发行版名称 config --default-user 原本用户名:

1
Ubuntu2204 config --default-user u-xhp

注意:命令中的发行版名称的版本号是纯数字,比如Ubuntu-22.04就是Ubuntu2204。 等待命令执行完毕,再次运行Ubuntu,发现用户就恢复原来的用户了。

本文由作者按照 CC BY 4.0 进行授权