admin 管理员组文章数量: 887021
Docker安装及使用教程(Windows版)
- 系列文章目录
- 1.下载安装
- 2.启用windows Hyper-V虚拟引擎
- 1.打开设置
- 2.搜索【启用或关闭 windows 功能】
- 3.勾选Hyper-V服务
- 4、根据提示重启电脑,等待更新即可
- 2.启动Docker Desktop
- 3.配置加速源
- 4.迁移镜像路径
- 5.进入docker虚拟机的方法
- 6.限制虚拟进程的内存大小
- 7.常见问题
- 7.1 一直停留在docker desktop starting界面转圈
系列文章目录
一、Docker安装及初始化配置(Linux版)
二、Docker安装及使用教程(Windows版)
三、Docker常用命令和部署实例(Linux和Windows通用)
四、Dockerfile应用案例教程(将一个或多个jar包部署到docker容器中运行)
五、Docker Compose下载安装及使用教程
六、Docker Swarm、Docker Stack和Portainer的使用
七、清除docker环境中服务、镜像、容器、挂载卷、网络
1.下载安装
下载地址:https://docs.docker/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",
"https://mirror.baidubce"
]
在命令行中输入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/nyasm/article/details/121569182和https://blog.csdn/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
执行完命令后重启电脑即可。
版权声明:本文标题:二、Docker安装及使用教程(Windows版) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726303464h932916.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论