我是懒人,不想安装虚拟机,又想本地开发各种各样的服务,索性直接安装docker,新机器自带正版win10家庭版,懒懒的不想换,那就一步步绕过家庭版的坑吧。
下载docker
https://www.docker.com/
官网注册直接下载一个免费的使用哟。
安装docker
看到exe,习惯性双击运行,很快就能发现报错。因为win10家庭版没有Hyper-v虚拟环境哟。
安装hyper-v环境
网上寻得一段代码
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
直接txt文本复制,并重命名为Hyper-V.cmd,双击运行就好。
然后可以再"开启或关闭程序功能"窗口中看看能否是否安装好。
查看Hyper-V.png
再次运行docker安装包,如果是家庭版,恭喜你,仍然报错。
绕过win10家庭版配置
偷偷潜入注册表,修改一个家庭版和专业版区别的参数哟,docker的版本校验就绕过去了。
win10家庭版配置.png
一步步的在注册表里面找到这个参数,右击修改,然后修改成 Professional,好啦,关闭注册表。小提示,这个值重启后会还原,如果没安装成功,下次开机需要再修改一下哟。
不知道win10家庭版升级,还是docker2020带来的新问题。
报错内容我记不清了,提示是containers错误,网上又找来一段新的代码。
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*containers*.mum >containers.txt
for /f %%i in ('findstr /i . containers.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del containers.txt
Dism /online /enable-feature /featurename:Containers -All /LimitAccess /ALL
pause
再创建一个txt文件,重命名为containers.bat,双击运行,重启,OK。
再次修改注册表的EditionID,双击安装包,就安静等待就好。
===
docker运行图标
双击图标,登录你的账号,就可以使用啦。
附:几个常用的docker命令
- 找镜像
docker search XXX
docker search mysql
- 拉镜像
docker pull xxx:vvv
docker pull mysql:5.7
- 看镜像
docker images
- 删镜像
docker rmi xxx
docker rmi mysql:5.7
docker rmi ne39cjs3n //镜像ID 前几位就好
- 运行镜像
docker run -d -name XXX -e 配置参数 -p 端口号 xxx:vvv
docker run -d -name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7
- 查看容器
docker ps
- 运行容器
docker start xxx
docker start mysql
- 停止容器运行
docker stop xxx
docker stop mysql
- 重启容器
docker restart xxx
docker restart mysql
- 删除容器 要停止运行了再删除哟
docker rm xxx
docker rm mysql
- 进入容器
docker exec -it xxx bash
docker exec -it mysql bash
好啦,记得到的就这些啦。以后再复习一下dockerfile,然后学习一下k8s。
网友评论