windows下通过docker-desktop创建redis实例

先说一下windows下docker安装的要求:

1、bios支持intel VT-x,就是支持虚拟化。

2、启用或关闭windows功能这里要选中hyper-v,windows虚拟机监控程序平台,适用于Linux的Windows子系统

3、windows10 1903版本及以上

4、打开基于虚拟化的安全,设置已启用。

关于前面三个都好设置,其实最容易忽视的就是第四个,我当时按照前面三个一一检查,设置,确信没有问题,但是wsl -l -v显示虚拟机版本还是有问题,最后根据安装提示:

Wsl/Service/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED

才找到问题所在:

我系统原来安装过ubuntu2204,但是再安装新的ubuntu2404又不行了,这个就很矛盾,各种设置都不生效,最后找到是本地组策略里面还有一个虚拟化的安全。

进入这个设置:win+x,然后输入gpedit.msc回车,就会打开本地组策略编辑器。按照目录结构找到虚拟化安全即可。

我这里安装不上ubuntu2404的时候,默认是未配置的,切换到已启用,ubuntu2404就安装上了。后续的设置wsl2也好使了。

至于ubuntu虚拟机的安装,我们直接在winstore商店里面查找wsl或者ubuntu就可以出现。

========================================================

因为windows上的docker需要借助ubuntu系统来作寄宿linux,所以我们需要安装ubuntu作为子系统。而且docker还需要wsl版本为2。默认1是不行的,所以我们要升级。

bash 复制代码
wsl --update
wsl --set-version Ubuntu2204 2

安装完ubuntu虚拟机之后,我们就可以设置版本为2了。正确的版本如下所示:

安装docker-desktop就好说了,就是一般的程序安装。

这里我需要启动redis实例,我通过compose方式启动,首先设置docker-compose.yml文件:

bash 复制代码
services: 
    redis:
        image: redis:6.2.18
        container_name: redis
        ports: 
          - "6379:6379"
        volumes:
          - ./conf/redis.conf:/usr/local/etc/redis/redis.conf
          - ./data:/data
        command: redis-server /usr/local/etc/redis/redis.conf
        restart: always

实例会利用redis:6.2.18镜像,映射本地6379端口,目录和配置文件映射当前文件夹的data和conf/redis.conf。

本地设置的文件目录结构:

值得一提的是,conf/redis.conf这个配置文件,最后是redis-server启动的时候读取的配置文件,我们需要修改几个配置:

bash 复制代码
bind 0.0.0.0      // 绑定本机,外部可访问
protected-mode no // 容许远程连接
appendonly yes    // 持久化方式
data ../data      // 持久化目录,这里data目录在conf/redis.conf的上级所以这里需要修改,否则出错

这里如果bind默认127.0.0.1,那么容器启动正常,可是访问失败,就像下图这样:

启动命令直接 docker compose up -d

启动容器,我们可以在docker-desktop界面,找到该容器,然后选择Open in terminal

接着我们就可以像在linux里面通过docker exec -it redis /bin/bash命令进入容器实例一样:

这里Tab标题是Exec,其实就可以理解通过docker exec -it的方式进入容器的。

因为容器配置文件docker-compose.yml里面指定了相关文件以及文件夹的映射,所以我们在windows系统下,也能看到映射出来的文件。

至此,windows上通过docker-desktop方式启动redis实例就完成了,其中最关键的一个配置就是redis.conf下bind 0.0.0.0。

windows下的docker运行在linux系统之上,所以我们要提前安装ubuntu系统。

相关推荐
ElevenS_it18818 分钟前
Redis监控实战:内存使用+命中率+连接数三类核心指标接入Zabbix+分级告警完整配置方案
运维·网络·redis·mybatis·zabbix
2501_939998201 小时前
【2026.5.19 更新】 Win11 25H2 26200.8521 镜像下载
windows
Waay1 小时前
图文详解|K8s Pod内部结构
docker·云原生·kubernetes
雨辰AI3 小时前
完整版信创微服务国产化架构实战:Nacos+Seata+Redis + 人大金仓(生产可落地)
数据库·redis·微服务·架构·政务
ni_darling3 小时前
win11任务栏居左,win11右键菜单栏设置,win11改回win10设置项
windows
万里侯3 小时前
Kubernetes成本优化:降低云原生基础设施成本的完整指南
微服务·容器·k8s
Mr. zhihao3 小时前
Redis 内存管理深度解析:过期删除与内存淘汰策略
数据库·redis·缓存
Mr. zhihao3 小时前
Redis 持久化完全指南:从 RDB、AOF 到 MP-AOF
redis
難釋懷3 小时前
Redis内存回收-过期key处理
数据库·redis·缓存
鱼鳞_3 小时前
苍穹外卖-Day05(Redis)
java·redis