首页 > 其他分享 >Docker使用教程

Docker使用教程

时间:2023-10-30 18:14:45浏览次数:36  
标签:教程 -- desktop Windows 使用 docker data Docker

 

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

 

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"
]
 
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
在命令行中输入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`
 
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
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`
 
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
迁移完成后重启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
 
  • 1

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

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

3.切换到文件系统

chroot /host
 
  • 1

在这里插入图片描述
在这里插入图片描述

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
 
  • 1
  • 2
  • 3
  • 4
  • 5

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/121569182https://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
 
  • 1

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

标签:教程,--,desktop,Windows,使用,docker,data,Docker
From: https://www.cnblogs.com/yanglongjian/p/17798477.html

相关文章

  • 34-Vue脚手架-组件的自定义事件(使用自定义事件优化Todo-List案例)
    组件的自定义事件1.一种组件间通信的方式,适用于子组件===>父组件(这里也可以使用props传递数据进行实现)2.使用场景:A是父组件,B是子组件,B想给A传数据,那么就要在A中给B绑定自定义事件(事件的回调在A中)3.绑定自定义事件:1)第一种方式,在父组件中<!--通过父组件给子组件绑定一个......
  • Java 新手如何使用Spring MVC 中的查询字符串和查询参数?
    文章目录什么是查询字符串和查询参数?步骤1:步骤2:步骤3:步骤4:结论......
  • K8s:Pod 中 command、args 与 Dockerfile 中 CMD、 ENTRYPOINT 的对应关系
    写在前面前几天被问到,这里整理笔记之前也没怎么注意这个问题理解不足小伙伴帮忙指正曾以为老去是很遥远的事,突然发现年轻是很久以前的事了。时光好不经用,抬眼已是半生,所谓的中年危机,真正让人焦虑的不是孤单、不是贫穷、更不是衰老,而是人到中年你才发现,你从来没有按照自己喜欢的方......
  • Java 新手如何使用Spring MVC 中的双向数据绑定?
    文章目录什么是双向数据绑定?使用SpringMVC实现双向数据绑定步骤1:步骤2:步骤3:步骤4:步骤5:深入拓展双向数据绑定结语......
  • Vue 3中toRaw和markRaw的使用
    文章目录Vue3的响应性系统使用`toRaw`使用`markRaw`使用场景1.与第三方库交互2.提高性能3.避免无限循环总结......
  • 如何使用VSCode创建编辑Markdown文件
    断更了这么久,我回来啦!!!目录如何使用VSCode创建编辑Markdown文件一、安装VSCode软件二、VSCode安装Markdown相关插件1、VSCode安装插件的步骤2、VSCode中与Markdown有关的插件3、插件安装完成后的效果图三、VSCode操作Markdown文件1、VSCode新建Markdown文件2、VSCode编辑Markdow......
  • 参与国际大科学计划!DDE 深时数字地球向您发出平台使用邀请
    深时数字地球(Deep-timeDigitalEarth,DDE)是由我国科学家主导发起并受国际学术界认可的首个大科学计划,希望通过建立一个链接地学信息的研究平台,整合地球演化数据、共享全球地学知识,同时为世界范围内的用户提供跨学科领域、国家地域的云上科研环境,推动地球科学研究的范式变革。以大数......
  • 【GEE】Google Earth Engine(GEE)注册详细教程&无需教育邮箱
    ​    这个专栏真的是纠结了很久,不知道到底要不要分享自己在学习GEE的时候的一些经验和代码。因为本人在日常中使用Python和ENVI多点,虽然GEE也会用但不至于频繁使用,同时针对GEE其实官网给出了很多接口的使用方法,国内外也有很多人分享过一些实操代码,因此大部分代码可能都......
  • 使用 Sealos 一键部署 Kubernetes 集群
    Sealos是一款以Kubernetes为内核的云操作系统发行版,使用户能够像使用个人电脑一样简单地使用云。与此同时,Sealos还提供一套强大的工具,可以便利地管理整个Kubernetes集群的生命周期。Sealos不仅可以一键安装一个单节点的Kubernetes开发环境,还能构建数千节点的生产高可......
  • vim的使用
    进入文档vim1.txt进入一般模式 只读模式----------------------------------------第一种模式按i或a进入编辑模式---------------------------------------第二种模式按:wq 保存并退出按:q不保存退出按:q! 强制退出----------------------------------------第三种......