Docker安装及使用教程(Windows版)

1.下载安装2.启用windows Hyper-V虚拟引擎1.打开设置2.搜索【启用或关闭 windows 功能】3.勾选Hyper-V服务4、根据提示重启电脑,等待更新即可

2.启动Docker Desktop3.配置加速源4.迁移镜像路径5.进入docker虚拟机的方法6.限制虚拟进程的内存大小7.常见问题7.1 一直停留在docker desktop starting界面转圈

1.下载安装

下载地址:https://docs.docker.com/desktop/install/windows-install/ 双击下载的exe文件,都选择使用默认设置,等待安装完成即可。

2.启用windows Hyper-V虚拟引擎

参考菜鸟教程 Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。

注意:这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!

1.打开设置

2.搜索【启用或关闭 windows 功能】

3.勾选Hyper-V服务

4、根据提示重启电脑,等待更新即可

2.启动Docker Desktop

双击启动Docker Desktop时,出现报错Docker Desktop requires a newer WSL kernel version. 报错原因是WSL不是最新版,现在Docker Desktop默认使用WSL 2来运行,而不是以前的Hyper-V。

WSL是适用于 Linux 的 Windows 子系统 ,可让开发人员直接在 Windows 上按原样运行 GNU/Linux 环境(包括大多数命令行工具、实用工具和应用程序),且不会产生传统虚拟机或双启动设置开销。

WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。

以管理员方式打开windows命令行(直接打开没有操作权限),输入命令:wsl --update 再次双击打开Docker Desktop,可以看到使用的wsl2虚拟引擎,而不是Hyper-V。

3.配置加速源

运行成功后配置需要的加速源,加快下载的速度。注意在原配置后加一个逗号:

"registry-mirrors": [

"https://hub-mirror.c.163.com",

"https://mirror.baidubce.com"

]

在命令行中输入docker info命令,可以在末尾看到配置后的结果:

4.迁移镜像路径

docker默认安装路径一般在C:\Program Files\Docker

WSL发行版默认安装路径在%LOCALAPPDATA%/Docker/wsl目录

docker的运行数据、镜像文件都存在%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx中,后续安装docker镜像和容器会让C盘空间紧张。 可以通过以下步骤来迁移镜像的路径: 1.关闭Docker Desktop 2.在命令行输入关闭wsl的命令:wsl --shutdown 3.将docker-desktop-data导出到你想放置的位置(后缀名设为.tar)

wsl --export docker-desktop-data PATH\FILE.tar

// PATH为导出地址,例如:D:\docker-vm-source

// FILE为导出后的文件名称,例如:docker-desktop-data

// 完整命令:`wsl --export docker-desktop-data D:\docker-vm-source\docker-desktop-data.tar`

4.在命令行输入注销原docker-desktop-data的命令:wsl --unregister docker-desktop-data 5.重新导入docker-desktop-data

wsl --import docker-desktop-data org_folder src_file --version 2

// org_floder:想存放镜像和容器的目录

// src_file:步骤3中导出的文件名

// 完整命令:`wsl --import docker-desktop-data D:\docker-vm-source\DockerDesktop D:\docker-vm-source\docker-desktop-data.tar --version 2`

迁移完成后重启docker即可。

5.进入docker虚拟机的方法

通过docker info 命令可以看到docker虚拟机的根目录为/var/lib/docker。 我们是在win10系统安装的docker,怎么进入这个目录呢?进入docker虚拟机的方法如下: 1.获取可访问Docker守护程序的容器

docker run --privileged -it -v /var/run/docker.sock:/var/run/docker.sock jongallant/ubuntu-docker-client

2.运行具有完全root访问权限的容器

docker run --net=host --ipc=host --uts=host --pid=host -it --security-opt=seccomp=unconfined --privileged --rm -v /:/host alpine /bin/sh

3.切换到文件系统

chroot /host

6.限制虚拟进程的内存大小

windows版docker的使用方式和linux版docker一致,通过命令行操作即可。 在安装若干个镜像和容器后,查看windows的任务管理器和资源监视器发现vmmem的虚拟进程消耗了11G左右的内存资源 通过查看各docker容器的内存发现总计也才3G左右 解决WSL2中Vmmem内存占用过大问题的步骤如下: 1.按下Windows + R 键,输入 %UserProfile% 并运行进入用户文件夹 2.新建文件 .wslconfig ,然后用记事本编辑,填入以下内容并保存:

#.wslconfig

[wsl2]

memory=4GB

swap=0

localhostForwarding=true

memory为虚拟进程内存上限,这里我限制最大4GB,可根据自身电脑配置设置。

7.常见问题

7.1 一直停留在docker desktop starting界面转圈

docker命令报错:error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. 处理过程参考:https://blog.csdn.net/nyasm/article/details/121569182和https://blog.csdn.net/sunshineGGB/article/details/122838156 1.进入docker安装目录:cd "C:\Program Files\Docker\Docker" 2.切换 Docker 守护程序:DockerCli.exe -SwitchDaemon 3.如果遇到下面错误信息,继续往下执行修复 以管理员身份运行Window Terminal(Windows PowerShell),输入以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName $("Microsoft-Hyper-V", "Containers") -All

执行完命令后重启电脑即可。

精彩链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。