Windows 10 安装 Docker Desktop 4.x 完整图文教程(全网最完整的 Win10 Docker 安装部署教程)

如果你是新手,又想在Windows上安装Docker,想体验尝鲜一把,那么就非常适合看这篇文章。吾乐吧软件站会完整的介绍整个安装部署过程,以及介绍如何解决安装过程中遇到的一些坑。这些都是小牛前段时间使用Docker的时候,遇到的一些问题,这次整理成笔记,顺便分享给大家。

与此同时,网上很多教程,安装完就结束了,很多人都一脸懵逼,根本不知道应该怎么使用,本文也会进行简单的功能操作介绍。

基本介绍
Docker是一个用于创建容器化应用程序的完整开发平台,而Docker Desktop for Windows是在Windows上开始使用Docker的最佳方式。企业里面,普遍都是把Docker部署在CentOS环境中的,所以这里就不详细展开讲,本文只针对Docker for Windows进行讲解。

根据官网介绍,在Windows部署Docker有2种方式:一种是WSL 2 backend(强烈推荐),另一种是基于Hyper-V backend and Windows containers。网上的各种教程,让人眼花缭乱,根本不知道应该相信哪个版本,今天你不用纠结了,直接告诉你答案,那就是直接使用WSL 2 backend安装部署。说到WSL 2,其实Windows 11里面的安卓跨平台功能,貌似也是基于这个技术实现的。好了,废话不多说,直接开干。

准备工作
Docker官方网站:https://www.docker.com/products/docker-desktop

下载Docker Desktop 4.0.1 安装包:https://www.wuleba.com/?p=269

WSL 2 backend 安装要求:

Windows 10 x64 位:Home 或 Pro 2004(内部版本 19041)或更高版本,或者 Enterprise 或 Education 1909(内部版本 18363)或更高版本。
具有二级地址转换 (SLAT) 的64 位处理器
4GB 系统内存
必须在 BIOS 设置中启用 BIOS 级硬件虚拟化支持。
详细要求看这里:https://docs.docker.com/desktop/windows/install
安装Docker
1、直接双击安装 Docker Desktop Installer.exe,直接按顺序安装即可

2、到了这里,就算是安装完毕了。但是事情并没有结束

出现WSL2报错
安装之后,Win10上Docker无法正常启动,出现Install WSL 2 kernel update的情况。

会提示报错:WSL Microsoft .NET Framework

应用程序中发生了未经处理的异常。如果单击“继续”,应用程序将忽略此错误并尝试继续。如果单击“退出”,应用程序将立即关闭。

引发类型为:Docker. ApiServices. WSL2. WslKernelUpdateNotIns talledException的异常。

打开链接之后,发现是微软的网址,一大堆WSL说明,然后叫我们下载Linux镜像之类的

其实,这个就是大坑,因为小牛也下载了几个版本,依然无法解决WSL2报错的问题。估计是因为近期微软网站改版了,里面很多文档都发生变化,资料对不上导致的。其实真正的解决方法是:

安装WSL组件
需要手动安装 wsl.msi 组件后才可以正常启动Docker Desktop

诚通网盘 WSL2组件 wsl.msi 下载(提取密码:wuleba):https://url72.ctfile.com/f/571472-516916893-26290d

蓝奏云网盘 WSL2组件 wsl.msi 下载:https://wwa.lanzoui.com/ifMuDv5ua1c

1、安装刚刚下载的 wsl.msi

2、设置 WSL 2 为默认值

以管理员身份打开 PowerShell,然后运行以下命令以将 WSL 2 设置为 WSL 的默认版本:

wsl –set-default-version 2


3、Restart 重启Docker,然后就正常了,终于可以启动成功了。到了这里,安装Docker+WSL2的教程就到此结束。但是本文还没结束~~

基本操作
很多人安装Docker之后,完全不知道怎么使用,这里就花点时间,给大家介绍一下常用的操作:

1、配置Docker镜像仓库,用于加速访问,Settings——Docker Engine:

大家可以按照下面的设置配置,也可以在阿里云后台查看自己的镜像加速地址(也就是上图马赛克部分):https://cr.console.aliyun.com/cn-guangzhou/instances/mirrors

{
“registry-mirrors”: [
“http://hub-mirror.c.163.com”,
“https://docker.mirrors.ustc.edu.cn”
],
“insecure-registries”: [],
“debug”: false,
“experimental”: false,
“features”: {
“buildkit”: true
},
“builder”: {
“gc”: {
“enabled”: true,
“defaultKeepStorage”: “20GB”
}
}
}
2、使用Docker的话,一般需要自己打包Docker镜像,可以使用阿里云的“容器镜像服务”个人版:https://cr.console.aliyun.com/

个人免费版有些限制,但是基本够用的

3、进入个人版设置页面,添加“镜像仓库”、“命名空间”,然后就可以进行管理

4、进入管理页面,阿里有很详细的操作指南,告诉你应该怎么创建一个Docker镜像,大家按照步骤在PowerShell执行即可(这个步骤很重要,经常用到)

常用Docker命令
安装完Docker Desktop之后,其实是通过PowerShell去控制Docker容器的,所以,下面的命令全部都是在PowerShell下执行。

点击展开:常用Docker命令
Dockerfile模板
最后,给大家提供一个简单的 Dockerfile 参考
下面是一个完整的打包 Hexo 镜像的 Dockerfile 脚本:

内容查看此隐藏内容查看价格1立即支付

FROM centos:8
MAINTAINER flydoos <xxx@wuleba.com>
ADD [“nginx-1.19.9.tar.gz”,”node-v16.10.0-linux-x64.tar.xz”,”/application/devops/”]
RUN yum install -y glibc-langpack-zh.x86_64 && yum install -y langpacks-zh_CN && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN yum install -y gcc automake autoconf libtool make pcre-devel zlib-devel openssl openssl-devel
RUN cd /application/devops/nginx-1.19.9/ && ./configure –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module && make && make install
RUN mv /application/devops/node-v16.10.0-linux-x64 /usr/local/nodejs && ln -s /usr/local/nodejs/bin/npm /usr/local/bin/ && ln -s /usr/local/nodejs/bin/node /usr/local/bin/
ENV NODEJS_HOME /usr/local/nodejs
ENV PATH $NODEJS_HOME/bin:$PATH
RUN cd /application && npm install hexo-cli -g && hexo init blog && cd blog && npm install
ENV LANG=zh_CN.UTF-8
ENV LC_ALL=zh_CN.UTF-8
EXPOSE 4000
CMD [“/bin/sh”,”-c”,”cd /application/blog && hexo server”]
All by flydoos 2021-10-10