Win10上操作Docker,一样可以纵享丝滑!

简介: Win10上操作Docker,一样可以纵享丝滑!

大家好,我是飘渺!

在平时开发工作中,如果你要学习或使用某个中间件,如Redis,MongoDB,ES等,你肯定得先去官网下载、安装、然后配置。有时候遇到一个问题,捣鼓半天还是无法启动,等你哼哧哼哧调整好,一上午就过去了。

现在已经2022年了,这种事你用docker来干不香吗?先docker pull 一下,然后再docker run 一下,两句命令,5分钟搞定,剩下的3个小时拿来看看 JAVA日知录 的文章也挺好呀。


在Linux上安装Docker非常简单,我之前的文章中有详细说明,本文是在Win10 WSL2的基础上进行Docker安装操作。

如果你对Docker还不是很熟悉,建议可以先看看这篇文章:史上最详细的docker学习手册,请查收!

当然,如果你对Win10的WSL2感兴趣,也可以通过下面这篇文章了解:

https://docs.microsoft.com/zh-cn/windows/wsl/about


安装过程


版本要求

基于WSL2的Docker Desktop 需要系统内核满足如下条件:

Windows 10 64-bit: Home or Pro 2004 (build 19041) or higher, or Enterprise or Education 1909 (build 18363) or higher.

可以通过右键 我的电脑 -> 属性 查看Windows规格

如果使用Windows Update自动更新到2004版本。如果没有检测到更新,可以去微软官网下载“易升”工具并安装运行。工具会检测到更新并安装。

安装

  1. 下载安装

通过 https://docs.docker.com/desktop/windows/install/下载后直接进行安装

  1. 下载 Linux 内核更新包并安装

此时打开Docker Desktop后会提示安装WSL,如果不安装,则启动不了应用程序。所以根据提示通过https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi下载直接后安装

  1. 将WSL 2 设置为默认版本

打开 PowerShell,执行如下命令,将 WSL 2 设置为默认版本:

wsl --set-default-version 2

启动异常:System.InvalidOperationException

这时候打开Docker Deskstop 大概率会出现如下异常:

System.InvalidOperationException
Failed to set version to docker-desktop: exit code: -1

在PowerShell中使用wsl命令会提示  “参考的对象类型不支持尝试的操作。

解决办法

  1. 下载NoLsp

可以通过连接 http://www.proxifier.com/tmp/Test20200228/NoLsp.exe进行下载,需要使用VPN。

或者点击下方的公众号名片,输入【nolsp】下载

  1. 配置

将下载的文件建议放在 C:\Windows\System32下,也可以放在任何你指定的位置,通过管理员运行CMD,执行如下命令

NoLsp.exe C:\Windows\System32\wsl.exe
Success!

如果出现异常,请检查文件路径。

  1. 启动wsl

  1. 重启Docker Desktop

  1. 测试

打开powershell终端,输入命令

docker run -d -p 80:80 docker/getting-started

启动后,通过浏览器访问http://localhost/出现以下页面则表示安装成功,后面就可以安心使用Docker带来的便利了。

配置加速器

Docker默认情况下使用的是DockerHub仓库,可以在终端通过Docker info命令查看:

但是国内从DockerHub拉取镜像有时会很慢,此时可以配置国内加速器服务,例如:

配置过程如下:

通过Setting -> Docker Engine 在右侧配置文件中通过registry-mirrors配置镜像加速器。

"registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
]

配置完成后重新启动Docker Desktop,而后通过docker info再次查看,可以发现镜像加速器已经生效。


镜像存储位置迁移


使用WSL2安装Docker后,默认存储位置是放在C盘。考虑到很多人C盘作为系统盘空间可能不太够,所以我们这里将存储位置迁移到其他盘里。

按照以下说明可以在保留现有镜像数据的情况下进行数据迁移,请严格按顺序执行,错了不要怪我!

  1. 停止Docker Desktop

右键单击Docker Desktop图标,选择 Quit Docker Desktop。退出完成后通过终端输入wsl -l -v,此时应该可以看到两个状态都已停止。

默认情况下,Docker Desktop for Window 会创建如下两个发行版(distro) C:\Users\javadaily\AppData\Local\Docker\wsl docker-desktop (对应distro/ext4.vhdx) docker-desktop-data (对应data/ext4.vhdx)

可以看到导出前目录属性

  1. 备份docker数据

通过下面指令可以将Docker Images及相关文件导出到 E盘

wsl --export docker-desktop-data "E:\\docker-desktop-data.tar"
  1. 从wsl取消注册docker-desktop-data

请注意C:\Users\javadaily\AppData\Local\Docker\wsl\data\ext4.vhdx文件将被自动删除。

wsl --unregister docker-desktop-data
  1. 将导出的docker-desktop-data再导入回wsl,并设置成我们想要的路径,即新的镜像及各种docker使用的文件的挂载目录,我这里设置到E:\\docker\\wsl
wsl --import docker-desktop-data "E:\\docker\\wsl" "E:\\docker-desktop-data.tar" --version 2`

执行完成后我们就可以在E:\docker\wsl 下看到docker数据了

  1. 验证测试

迁移完成后启动Docker并拉取 elasticearch 和kibana 后再次查看docker目录大小


小结


好了,至此你已经在Windows安装好Docker了,赶紧去体验享受Docker带来的便利吧!

目录
相关文章
|
2月前
|
虚拟化 Docker Windows
win10使用Docker以及在天池比赛上提交容器镜像文件
win10使用Docker以及在天池比赛上提交容器镜像文件
88 1
|
2月前
|
Docker 容器
【Docker】掌握 Docker 镜像操作:从基础到进阶
【Docker】掌握 Docker 镜像操作:从基础到进阶
|
17天前
|
JavaScript 前端开发 数据安全/隐私保护
阿里云云效操作报错合集之流水线中获取不到CI_COMMIT_REF_NAME变量,导致docker镜像打包失败,什么原因
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
20天前
|
JSON 数据格式 Docker
docker镜像源挂了后操作2024-6
简单操作实现docker镜像依然能顺利拉取。
290 12
|
17天前
|
缓存 运维 Devops
阿里云云效操作报错合集之在构建过程中,Docker尝试从缓存中获取某个文件(或计算缓存键)时遇到了问题,该如何处理
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
20天前
|
Docker 容器
Docker镜像、容器操作
Docker镜像、容器操作
55 0
|
27天前
|
缓存 Linux 开发工具
win10下docker desktop:使用dockerfile基于CentOS:8创建可以使用vim的镜像
win10下docker desktop:使用dockerfile基于CentOS:8创建可以使用vim的镜像
68 0
|
2月前
|
应用服务中间件 Linux 网络安全
Ubantu docker学习笔记(四)docker容器操作
Ubantu docker学习笔记(四)docker容器操作
|
2月前
|
机器学习/深度学习 人工智能 分布式计算
人工智能平台PAI 操作报错合集之在本地构建easyrec docker镜像时遇到了无法连接docker服务如何解决
阿里云人工智能平台PAI (Platform for Artificial Intelligence) 是阿里云推出的一套全面、易用的机器学习和深度学习平台,旨在帮助企业、开发者和数据科学家快速构建、训练、部署和管理人工智能模型。在使用阿里云人工智能平台PAI进行操作时,可能会遇到各种类型的错误。以下列举了一些常见的报错情况及其可能的原因和解决方法。
|
2月前
|
应用服务中间件 Shell Linux
docker 基本用法-操作镜像
docker 基本用法-操作镜像
128 6