Docker如果想安装软件 , 必须先到 Docker 镜像仓库下载镜像。
Docker 镜像仓库
命令 描述
docker pull redis 下载最新版Redis镜像 (其实此命令就等同于 : docker pull redis:latest )
docker pull redis:xxx 下载指定版本的Redis镜像 (xxx指具体版本号)
检查当前所有Docker下载的镜像
docker images
启动前需要先创建Redis外部挂载的配置文件 ( /home/redis/conf/redis.conf )
之所以要先创建 , 是因为Redis本身容器只存在 /etc/redis 目录 , 本身就不创建 redis.conf 文件
当服务器和容器都不存在 redis.conf 文件时, 执行启动命令的时候 docker 会将 redis.conf 作为目录创建 , 这并不是我们想要的结果 。
创建目录
mkdir -p /home/redis/conf
创建文件
touch /home/redis/conf/redis.conf
Docker 创建 Redis 容器命令
docker run
-d \
--name redis
-p 6379:6379 \
--restart unless-stopped
-v /home/redis/data:/data
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf \
redis-server /etc/redis/redis.conf
redis:bullseye
命令 描述
–name redis 启动容器的名字
-d 后台运行
-p 6379:6379 将容器的 6379(后面那个) 端口映射到主机的 6379(前面那个) 端口
–restart unless-stopped 容器重启策略
-v /home/redis/data:/data 将Redis储存文件夹挂在到主机
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf 将配置文件夹挂在到主机
-d redis:bullseye 启动哪个版本的 Redis (本地镜像的版本)
redis-server /etc/redis/redis.conf Redis 容器中设置 redis-server 每次启动读取 /etc/redis/redis.conf 这个配置为准
--appendonly yes 在Redis容器启动redis-server服务器并打开Redis持久化配置
\ shell 命令换行
注意 : 命令中所有 冒号 前面的是主机配置 , 冒号 后面的是redis容器配置 。
–restart unless-stopped : 在docker重启时重启当前容器。但不包含docker重启时已停止的容器。
本次执行命令:
docker run --name redis -p 6379:6379
-v /home/redis/data:/data
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf
-d redis:bullseye redis-server /etc/redis/redis.conf
查看Docker运行中的容器
docker ps
docker ps | grep redis
Docker日志查看
docker logs redis
报错:chown: changing ownership of '.': Permission denied,权限不足!请跳转!!!
通过 Docker 命令进入 Redis 容器内部
docker exec -it redis /bin/bash
docker exec -it redis bash
进入 Redis 控制台
redis-cli
添加一个变量为 key 为 name , value 为 bella 的内容
set name bella
查看 key 为 name 的 value 值
get name
或者也可以直接通过Docker Redis 命令进入Redis控制台 (上面两个命令的结合)
docker exec -it redis redis-cli
exit
修改 /home/redis/conf/redis.conf
命令 功能
appendonly yes 启动Redis持久化功能 (默认 no , 所有信息都存储在内存 [重启丢失] 。 设置为 yes , 将存储在硬盘 [重启还在])
protected-mode no 关闭protected-mode模式,此时外部网络可以直接访问 (docker貌似自动开启了)
bind 0.0.0.0 设置所有IP都可以访问 (docker貌似自动开启了)
requirepass 密码 设置密码
如果你设置了密码,需要通过如下命令进入Redis控制台
进入Redis容器
docker exec -it redis /bin/bash
通过密码进入Redis控制台
redis-cli -h 127.0.0.1 -p 6379 -a 123456
3.备注.为现有的redis 创建密码或修改密码:
进入redis的容器 docker exec -it 容器ID bash
进入redis目录 cd /usr/local/bin
运行命令:redis-cli
查看现有的redis 密码:config get requirepass
设置redis密码config set requirepass ***(***为你要设置的密码)
若出现(error)NOAUTH Authentication required 错误,则使用auth密码来认证密码
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。