docker run -dit --name redis --privileged=true -p 6379:6379 --restart=always -v /home/redis_data/conf/redis.conf:/etc/redis/redis.conf -v /home/redis_data/data:/data redis:6.2.5 redis-server /etc/redis/redis.conf --appendonly yes --requirepass "111111"
参数解释:
--privileged=true 优先启动
--restart=always 保持启动状态
-p 6379:6379 设置启动端口
redis --requirepass 111111 设置密码
-v /home/redis_data/conf/redis.conf:/etc/redis/redis.conf 将配置文件挂载到虚拟机目录
-v /home/redis_data/data:/data 将数据挂载到虚拟机 /home/redis_data
遇到的问题:
1、我安装 hyper-v 虚拟机的时候直接下载的docker,将容器中的数据挂载到虚拟机的目录时非 /home 目录会报没有权限,
用snap安装的docker有一个bug,不能挂在/home之外的地方 比如/data下面,所以我换成了挂载目录放在 /home 里面
Error response from daemon: error while creating mount source path '/data/redis_data/conf/redis.conf': mkdir /data: read-only file system.