最简单的方法
如果只是希望启动redis,不想去繁琐的配置,建议使用以下run命令
docker run --name redis --restart=always -d -p 6379:6379 redis:7.2 --requirepass 12345600
这个命令会启动最新版redis
常规方法
1. 下载redis镜像
先到dockerhub官网搜索redis镜像版本
查看所有可用的redis镜像版本
想要使用哪个版本,点击复制对应的dockerpull
命令即可
不指明redis镜像版本时,docker pull redis
默认下载最新版本镜像,如下:
为了后面更好的解释docker的run
命令,我选择一个不是最新版本的redis来做演示
docker pull redis:7.0.4
使用docker images
命令查看当前所有的docker镜像
这说明下载redis镜像成功的了
下一步就是使用run命令创建并启动镜像,但在启动镜像之前,我们需要去官网下载redis的配置文件redis.conf文件。注意不同版本的redis配置文件内容不一样,要下载对应版本的redis配置文件
自行创建一个redis.conf文件,将官网的redis.conf内容复制进去即可,然后修改一下配置文件内容
-
将appendonly持久化设置为yes
-
将bind注释掉,否则只能本机访问redis
-
设置requirepass密码
如此一来,redis.conf就设置好了,此时在Linux上创建一个redis文件夹去存放redis的配置文件和持久化数据。mkdir -p /docker/redis
mkdir /docker/redis/data
把redis.conf放在/docker/redis目录下
使用run
命令创建并启动redis容器
docker run --name redis
-p 6379:6379
-v /docker/redis/redis.conf:/usr/local/etc/redis/redis.conf
-v /docker/redis/data:/data
–restart always
-d redis:7.2
redis-server /usr/local/etc/redis/redis.conf
run
命令解释:
docker run
-p 6379:6379 docker与宿主机的端口映射
–name redis redis容器的名字
-v /docker/redis/redis.conf:/etc/redis/redis.conf 挂载redis.conf文件
-v /docker/redis/data:/data 挂在redis的持久化数据
–restart=always 设置redis容器随docker启动而自启动
-d 后台运行并返回容器id
redis:7.0.4
redis-server /etc/redis/redis.conf 指定redis在docker中的配置文件路径,后台启动redis
相应的docker-compose.yml内容
version: '3'
services:
redis:
image: redis:7.2
container_name: redis
ports:
- 6379:6379
volumes:
- /docker/redis/redis.conf:/usr/local/etc/redis/redis.conf
- /docker/redis/data:/data
command: redis-server /usr/local/etc/redis/redis.conf
restart: always