首页 > 技术文章 > Docker搭建redis

xiao-xue-di 2021-01-04 10:46 原文

Docker搭建redis

 

1、直接执行命令:docker pull redis

 

 

这里我们拉取官方的最新版本的镜像:

$ docker pull redis:latest

使用以下命令来查看是否已安装了 redis:

$ docker images
 

2、启动redis:

docker run -p 7007:7007 --name redis -v /opt/redis/redis/redis-7007.conf:/etc/redis/redis.conf  -v /data/redis:/data  -d redis redis-server /etc/redis/redis.conf  --appendonly yes

docker run -p 6379:6379 --name redis01 -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

1. -p 6379:6379  容器redis 端口6379 映射 宿主机未6379
2. --name redis01 容器 名字 为 redis01
3. -v /root/redis/redis01/conf/redis.conf:/etc/redis/redis.conf   容器 /etc/redis/redis.conf 配置文件 映射宿主机 /root/redis/redis01/conf/redis.conf。  会将宿主机的配置文件复制到docker中。
 重要: 配置文件映射,docker镜像redis 默认无配置文件。
4 -v /root/redis/redis01/data:/data  容器 /data 映射到宿主机 /root/redis/redis01/data
5.-d redis  后台模式启动 redis 
6. redis-server /etc/redis/redis.conf    redis 将以 /etc/redis/redis.conf 为配置文件启动
7. --appendonly yes  开启redis 持久化

 

起来了

但是外部还是访问不了,
因为用的virtualbox,还需要加端口映射,一般情况直接访问虚机的ip就可以了

上传私有仓库:
docker tag redis 192.168.1.2:5000/redis:latest
docker push 192.168.1.2:5000/redis:latest

 
 遇到的问题:

docker使用redis.conf配置文件方式启动redis无反应无日志

 

解决:
在redis.conf中注掉daemonize yes这一行,或者改为daemonize no。因为我们的docker run里参数-d就是以守护进程方式启动redis,而配置文件里daemonize yes这个东东再次以守护进程方式启动,而且它会读取pidfile这个配置的文件作为进程ID文件。说白了,就是docker启动参数跟redis.conf配置冲突了。

推荐阅读