- 创建挂载的文件及文件夹
# 位置可随意
mkdir -p /usr/local/docker/redis/conf
mkdir -p usr/local/docker/redis/data
# 进入conf目录下创建配置文件
touch redis.conf
- 拉取镜像
# 可先查询版本,拉取指定版本的redis镜像
docker search redis
# 如下为拉取最新版本,指定版本只需在镜像名后加版本号即可如: redis:x.x.x
docker pull redis
- 创建redis容器
docker run -p 6379:6379--name redis-6379
-v /usr/local/docker_software/redis/conf/redis.conf:/etc/redis/redis.conf
-v /usr/local/docker_software/redis/data:/data
--privileged=true
-d redis redis-server /etc/redis/redis.conf --appendonly yes
# ---------------------------------------------------------------
# --name 设置容器名字
# -v 挂载目录 宿主机目录/容器目录
# --privileged=true 设置权限
# -d 表示后台运行
# --appendonly yes 标识开启持久化策略(重启电脑数据依然在),如不需要持久化就不要配置
- 查看创建容器状态
docker ps -a
- 测试连接
记录自己遇到的问题:
- 容器创建未报错,但容器启动不了(挂载的文件和文件夹都存在)
解决:将redis.conf配置文件中daemonize yes
的yes
改为no
原因:daemonize yes
的作用是开启守护进程,在配置文件中指定了该选项,redis将会在后台运行,并且redis的PID号将被写入配置文件中指定的文件。因此redis会一直运行,除非管理员手动杀掉该进程。
在docker容器创建命令中-d
选项也是开启daemonize,应该是有冲突,所以导致容器启不来。