Window家庭版下docker desktop安装redis、mysql配置过程记录

实现
1、虚拟化检查

打开任务管理-性能,查看是否虚拟化已经支持,若未支持则需要重启进入BIOS打开虚拟化支持。

2、安装虚拟机并开启Hyper-V功能、虚拟机功能。

因为Win10家庭版没有安装虚拟机,所以通过安装一个

新建一个txt文件,并将如下内容复制进去

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文件修改后缀名为.cmd,然后以管理员身份运行该cmd文件

等待运行结束后根据提示重启,输入Y并重启计算机。

此时启用或关闭系统功能中才会有Hyper-V选项。

【控制面板】-【程序】-【启用或关闭Windows功能】找到Hyper-V打上勾

然后再将Windows虚拟机监控程序平台、适用于Linux的Windows子系统、虚拟机平台这三个功能勾选上并开启

3、修改注册表,伪装专业版

以管理员身份打开cmd,执行如下

REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T REG_EXPAND_SZ /d Professional /F


此处是将注册表的值修改为Professional以使能正常运行,即伪装成win10专业版。

4、下载安装Docker Desktop

Docker Desktop:

The #1 Containerization Tool for Developers | Docker

下载之后双击进行安装

安装时会默认勾选使用WSL2替代Hyper-V选项以及创建桌面快捷方式选项。

这里将Use WSL 2 instead of Hyper-V(recommended)选项勾掉。

否则Docker Desktop会一直处于Stopped状态且无明显报错提示,即使卸载重装、查看内存和磁盘分配、排查网络问题也不行。

所以最后只能将Docker Desktop重新卸载掉,然后安装时取消勾选Use WSL 2 instead of Hyper-V(recommended)选项才解决

Docker Desktop一直提示Docker Engine stopped的问题。

取消勾选并启动成功

5、上面启动成功之后,可打开cmd输入

docker version

注意:如果启动docker desktop处于stop状态要去配置那边把wl2引擎关了(去掉勾选)

二、拉取redis、mysql镜像并挂载:

docker pull redis:7.0.15

本地镜像拉取成功,接下来启动并挂载redis目录到本地文件夹,cmd打开命令管理器终端:

docker run --name redis-dev -d ^
--restart unless-stopped ^
-e TZ=Asia/Shanghai ^
-p 16379:6379 ^
-v D:\Develop\Docker\Data\redis\redis.conf:/etc/redis/redis.conf ^
-v D:\Develop\Docker\Data\redis\data:/data ^
redis:7.0.14 ^
redis-server /etc/redis/redis.conf ^
--requirepass 123456 ^
--appendonly yes

参数解析:

--name redis-dev     #给容器命名为redis-dev
-d                   #后台运行容器
--restart unless-stopped	#设置重启策略为在容器手动停止时以外的任何原因退出时重启
-e TZ=Asia/Shanghai  #设置容器的时区
-p 16379:6379        #将容器的6379端口映射到主机的16379端口
-v D:\Develop\Docker\Data\redis\redis.conf:/etc/redis/redis.conf #将配置文件映射到容器
-v D:\Develop\Docker\Data\redis\data:/data                       #将数据目录映射到容器
redis:7.0.14         #使用版本为7.0.14的redis镜像
redis-server /etc/redis/redis.conf     #使用容器内的redis配置启动服务
--requirepass		 #连接密码
--appendonly yes     #开启持久化

验证:

可以看到左边host是我们本地的路径(自己创建好),conf文件去:Tags · redis/redis · GitHub找到对应的版本下载,然后拷贝出来改一下bind:0.0.0.0(原来应该是127.0.0.1)。

接下来验证一下数据:

本地redis可视化工具打开0.0.0.0,端口是16379输入密码123456:

可以看到redis刚刚测试的数据有写到,说明是成功的!

拉取mysql镜像

docker pull mysql:5.7

创建docker网络,cmd窗口输入:

# 创建docker网络,便于容器可以通过网络与宿主机和其他容器通信
docker network create docker-network

创建容器并运行,cmd窗口输入:

docker run --name mysql-dev -d ^
--restart unless-stopped ^
-e TZ=Asia/Shanghai ^
--network docker-network ^
-v D:\Develop\Docker\Data\mysql\log:/var/log/mysql ^
-v D:\Develop\Docker\Data\mysql\data:/var/lib/mysql ^
-v D:\Develop\Docker\Data\mysql\conf:/etc/mysql/conf.d ^
-p 13306:3306 ^
-e MYSQL_ROOT_PASSWORD=123456 ^
mysql:8.0.35
--name mysql-dev		#指定容器名称
-d						#后台运行容器
--restart unless-stopped	#设置重启策略为在容器手动停止时以外的任何原因退出时重启
-e TZ=Asia/Shanghai		#设置容器时区
--network docker-network	#将容器连接到自定义的 Docker网络中
-v						#目录挂载
-p 13306:3306			#将容器的 3306端口映射到宿主机的 13306端口
-e MYSQL_ROOT_PASSWORD=123456	# mysql root用户的密码
mysql:8.0.35			#使用的mysql镜像版本

navicat连一下看看,端口号13306,密码123456:

说明是成功的!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值