如何在Windows 7的Docker Toolbox中启动Redis服务?
解决Windows7 Docker Toolbox中Redis容器启动失败的问题
问题现象
在Windows7机器上使用Docker Toolbox,执行命令启动Redis容器:
docker run --name some-redis -d -p 6379:6379 redis
容器无法正常运行,docker ps看不到该容器,docker ps -a显示容器状态为Exited (127) 7 minutes ago,日志中关键错误为:
Fatal: Can't initialize Background Jobs. Error message: Operation not permitted
解决步骤
第一步:清理失败的容器
先删除已创建的异常容器:
docker rm some-redis
方法一:使用兼容的Redis版本(最简单)
Redis 7.2+版本在Docker Toolbox的VirtualBox环境中存在权限兼容性问题,改用7.0.x版本可直接解决:
docker run --name some-redis -d -p 6379:6379 redis:7.0
方法二:调整启动参数适配最新Redis版本
如果需要使用最新版Redis,添加权限及系统参数调整命令:
docker run --name some-redis -d -p 6379:6379 --sysctl vm.overcommit_memory=1 redis --disable-protected-mode --no-daemonize
验证容器运行
执行以下命令确认容器是否正常运行:
docker ps
若看到some-redis容器状态为Up,则启动成功。也可进入Redis命令行测试:
docker exec -it some-redis redis-cli
关键说明
--sysctl vm.overcommit_memory=1:解决日志中内存超配的警告,确保Redis内存操作正常--disable-protected-mode:关闭Redis保护模式,适配Docker环境的网络访问--no-daemonize:让Redis以非守护进程模式运行,避免容器启动后立即退出
内容的提问来源于stack exchange,提问作者Slevin
相关产品推荐
相关产品推荐

