- 这里我们拉取官方的最新版本的镜像
docker pull redis:latest
- 因为需要
redis的配置文件,这里最好还是去redis的官方去下载一个redis使用里面的配置文件即可
redis中文官方网站:redis 6.0.6 下载 -- Redis中国用户组(CRUG)
- 新建文件夹
mkdir -p /home/redis/myredis - 因为我是window,可以先新建配置文件
touch /home/redis/myredis/redis.conf vi /home/redis/myredis/redis.conf,将下载好的配置文件复制到这里面去
- 修改
redis.conf配置文件: 主要配置的如下:
bind 127.0.0.1#注释掉这部分,使redis可以外部访问
daemonize no#用守护线程的方式启动
requirepass 你的密码#默认是被注释掉的,给redis设置密码
appendonly yes#redis持久化 默认是no
tcp-keepalive 300#防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300
- 启动docker redis
docker run [可选参数] 镜像名 [向启动容器中传入的命令]
新建文件夹mkdir -p /home/redis/data,方便把redis持久化的数据在宿主机内显示,做数据备份
docker run -p 6379:6379 --name redis -v /home/redis/myredis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf
| 常用可选参数 | 作用 |
|---|---|
| i | 表示以《交互模式》运行容器 |
| d | 会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器) |
| t | 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端 |
| name | 为创建的容器命名。(默认会随机给名字,不支持中文字符!!!) |
| v | 表示目录映射关系,即宿主机目录:容器中目录。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上 |
| p | 表示端口映射,即宿主机端口:容器中端口。 比如:-p 8080:80 就是将容器中的80端口,映射到主机中的8080端口 |
| network=host | 表示将主机的网络环境映射到容器中,使容器的网络与主机相同。每个 Docker 容器都有自己的网络连接空间连接到虚拟 LAN。使用此命令则会让容器和主机共享一个网络空间 |
redis-server /etc/redis/redis.conf | 这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动 |
- 接着通过
docker container ps命令查看容器的运行信息:
- 查看日志,
docker logs redis,如果要看30分钟内的日志可以用docker logs --since 30m redis
- 操作后台容器
docker exec -it 容器名或容器id /bin/bash
eg
docker exec -it redis /bin/bash
接着我们通过 redis-cli 连接测试使用 redis 服务
报错(error) NOAUTH Authentication required.,因为我设置了密码,需要用密码登陆认证,验证密码auto "密码"