由于我在许多平台搜索Windows下安装Docker的方法,都提到了Win10家庭版无法直接安装Docker。个人电脑就是Win10家庭版,本着实践出真知的想法,个人在本机Win10家庭版实验结果为需要采用下述传统手动安装的办法;同时,在自己Vmware虚拟机上安装了Win10专业版进行演示命令行自动安装步骤。
如果是Win11系统可以跳过更新步骤。Win10选择更新系统至1903或更高版本,如果版本低于1903,可使用 Windows 10 易升工具手动升级。下载 Windows 10 易升工具(https://www.microsoft.com/zh-cn/software-download/windows10)。查看本机Windows版本,可在CMD(命令提示符)窗口或者Powershell窗口输入:winver 进行查看。
俩种方法选择其中一种即可,微软官方文档:Microsoft WSL文档,其中Win11和Win10的windows10版本2004(内部版本19041或更高)推荐方法二:命令行自动安装。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
下载前尽量重启一下电脑,下载地址https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4%E2%80%94download-the-linux-kernel-update-package。具体下载类型请看官方文档,根据自己电脑类型进行选择。
双击wsl_update_x64.msl文件运行即可。
打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
wsl --set-default-version 2
打开Windows系统自带的Microsoft Store。如果出现无法加载页面等情况,参考Microsoft Store 无法加载页面。应该是不需要用到科学上网。
搜索栏输入Ubuntu或者直接点击下方链接进行加载
点击获取后就自动下载并安装了
如果不想使用自己电脑上的Microsoft Store,可以选择官网提供的几个版本,点击链接应该就直接下载了:
按“Win+R”键,在运行窗口中,键入 WSReset.exe并点击“ 确定 ”
以管理员方式打开Powershell,依次执行如下两个指令:
# 1.删除、卸载当前Microsoft Storeget-appxpackage *store* |remove-Appxpackage# 2.添加、安装Microsoft Storeadd-appxpackage -register"C:\Program Files\WindowsApps\*Store*\AppxManifest.xml"-disabledevelopmentmode
如果依旧无法打开,重启下电脑,我是重启完之后才可以正常使用的。
设置虚拟机的新用户名和密码(与之后安装Docker无关),注意!输入密码时,控制台上不会有任何反应,大胆去输入就好了。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
对于windows10版本2004版本及更新版本或者windows11,可以直接一行命令符安装
# 很多网站上都说在powershell中输入这个指令就能自动安装wsl --install# 实际上,我自己实验成功的是输入如下指令成功的wsl --install-d<DistroName># 是自己指定的WSL虚拟机系统,示例: wsl --install-dUbuntu
执行完指令后需要略微等待十几秒后才会有反应,然后安装Ubuntu也需要等待。
根据自己Windows版本选择下方对应版本,参考文档Docker Desktop for Windows
可以访问参考文档去下载,也可以直接复制下方圆括号内链接下载(本机markdown下能够正常显示,CSDN上不懂怎么就错误了)
[Docker Desktop for Windows - x86_64](https://desktop.docker.com/win/main/amd64/Docker Desktop Installer.exe?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-win-amd64&_gl=11vzs4as_gcl_auMzE1MjQxMTgzLjE3MzIwMjQxNzE._gaNDY4ODQyNjcxLjE3MzIwMjQxNzI._ga_XJWPQMJYHQ*MTczMzExMzcxNi41LjEuMTczMzExMzkzMC40Ni4wLjA.)
[Docker Desktop for Windows - Arm Beta](https://desktop.docker.com/win/main/arm64/Docker Desktop Installer.exe?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-win-arm64)
下载完之后双击运行,点击OK(如果有关于WSL2的选项建议勾选,没有的不用管)
安装完之后,会有个 log out 的按钮,确保你当前电脑其他文件都已经保存完毕,并自己手动关掉,因为你点击log out 之后,电脑会立刻重启。
双击图标运行,选择接受协议(Accept)。
先跳过登录,也可以跳过调查问卷。
在里面添加一行,格式为如下,不知道如何获取自己阿里云镜像URL的,去查看配置镜像加速,也可以直接使用下方镜像。
"registry-mirrors":["https://docker.linkedbus.com", "https://docker.xuanyuan.me", "https://docker.hpcloud.cloud", "https://docker.m.daocloud.io", "https://docker.unsee.tech", "https://docker.1panel.live", "http://mirrors.ustc.edu.cn", "https://docker.chenby.cn", "http://mirror.azure.cn", "https://dockerpull.org", "https://dockerhub.icu", "https://hub.rat.dev", "http://hub-mirror.c.163.com", "http://hub-mirror.c.163.com", "https://registry.docker-cn.com"]
进入 C:\Users\[自己用户名]\.docker
目录下,打开 daemon.json
文件
在文件中添加字段内容,若已存在"registry-mirrors",则继续添加其他镜像。其他字段如无特殊需要,请保持不变。
"registry-mirrors":["https://docker.linkedbus.com", "https://docker.xuanyuan.me", "https://docker.hpcloud.cloud", "https://docker.m.daocloud.io", "https://docker.unsee.tech", "https://docker.1panel.live", "http://mirrors.ustc.edu.cn", "https://docker.chenby.cn", "http://mirror.azure.cn", "https://dockerpull.org", "https://dockerhub.icu", "https://hub.rat.dev", "http://hub-mirror.c.163.com", "http://hub-mirror.c.163.com", "https://registry.docker-cn.com"]
保存并关闭文件,随后将docker desktop手动重启一下。
打开powershell,终端中输入如下指令
# 显示版本信息docker--version# 显示当前docker本地镜像dockerimages# 运行第一个helloworld镜像,测试使用,可以不执行dockerrun hello-world# 显示运行中的容器dockerps
Docker官方文档
如果之前已经给yum换过国内镜像的可以跳过,我最终用的是方法二,方法一里提供的镜像好像也有东西下不了。
# 不会vim的也可以使用gedit,更新YUM仓库源为阿里云镜像源:sudovim/etc/yum.repos.d/CentOS-Base.repo
将文件中内容换成如下:
[base]name=CentOS-$releasever - Base - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[updates]name=CentOS-$releasever - Updates - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/gpgcheck=1gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[extras]name=CentOS-$releasever - Extras - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/gpgcheck=1gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[centosplus]name=CentOS-$releasever - Plus - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/gpgcheck=1enabled=0gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
清理并重建缓存
sudoyum clean allsudoyum makecachesudoyum update
# 先安装wgetyum -yinstallwget# 使用阿里云镜像mv/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backupwget-O/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清理并重建缓存
sudoyum clean allsudoyum makecachesudoyum update
sudoyum remove docker\docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
yum install-yyum-utils
sudoyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudoyum install-ydocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker-v
# 设置开机自启sudosystemctl enable--nowdocker# 启动dockersystemctl start docker
# 需要root权限sudodockerimages
此处以阿里云为例,其他云也可以
https://www.aliyun.com
如果是第一次,直接开通即可,免费!
点击镜像工具->镜像加速器
按照阿里云的操作文档进行
# registry-mirrors 可以换成自己的镜像地址 当然我获取的阿里镜像似乎有问题 所以换成了下方这两个sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": [ "https://docker.linkedbus.com", "https://docker.xuanyuan.me", "https://docker.hpcloud.cloud", "https://docker.m.daocloud.io", "https://docker.unsee.tech", "https://docker.1panel.live", "http://mirrors.ustc.edu.cn", "https://docker.chenby.cn", "http://mirror.azure.cn", "https://dockerpull.org", "https://dockerhub.icu", "https://hub.rat.dev", "http://hub-mirror.c.163.com", "http://hub-mirror.c.163.com", "https://registry.docker-cn.com" ]}EOFsudosystemctl daemon-reloadsudosystemctl restart docker
分享让更多人看到