Docker容器——安装Redis,并实现可更改配置
背景
日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。 同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。
开发环境
- 系统:Ubuntu
- 工具:Docker
- 镜像:Redis
内容
本节文章我们将在docker中进行安装redis。
1、先进行查看可支持的镜像或者我们可以在官网上面进行查找我们需要的镜像
代码语言:javascript复制docker search redis
image-20211016185406134
2、进行启动一个redis实例
代码语言:javascript复制docker run --name docker-redis -p 6379:6379 redis
命令含义是:启动一个容器,名称是docker-redis,映射容器端口6379到宿主机的端口6379,基于redis镜像。
这里如果redis镜像本地没有,则会根据之前我们查找的里面匹配name名称。后面省略tag部分是默认最新版本。
至此我们就可以正常连接宿主机IP:6379进行使用redis了,而有时我们需要进行配置redis的配置文件,使其具备一些特性,比如连接需要密码,这时我们就需要将其配置文件设置在宿主机中或者固定存储中,下面我们就开始将配置文件更改读取为宿主机。
3、在宿主机中创建一个文件夹,用于后续我们所有容器的本地文件存储使用
代码语言:javascript复制sudo mkdir /docker-local/
sudo chown -R cnhuashao:cnhuashao /docker-local
4、创建一个redis目录和其数据存储目录,用于我们存储本地配置文件和数据,便于更改维护使用。
代码语言:javascript复制mkdir /docker-local/redis
mkdir /docker-local/redis/data
5、从redis官方下载我们需要的配置文件,并作为我们redis的配置文件
代码语言:javascript复制cnhuashao@cnhuashao:/$ cd /docker-local/redis
cnhuashao@cnhuashao:/docker-local/redis$ wget https://raw.githubusercontent.com/redis/redis/6.0/redis.conf
6、重新创建新的redis容器
代码语言:javascript复制cnhuashao@cnhuashao:/docker-local/redis$ docker stop docker-redis && docker rm docker-redis
cnhuashao@cnhuashao:/docker-local/redis$ docker run --name docker-redis
-p 0.0.0.0:6379:6379
-v /docker-local/redis/redis.conf:/user/local/etc/redis/redis.conf
-v /docker-local/redis/data:/data
-d redis redis-server /user/local/etc/redis/redis.conf
命令解析如下:
-name 容器名称
-p 宿主机下的6379端口与容器中的6379端口做映射关系
-v 挂载宿主机中指定的文件夹或文件到容器中的具体文件或目录下。
-d 后台运行该容器
redis-server /user/local/etc/redis/redis.conf 指定运行redis-server并追加配置文件地址。
至此我们就完成了redis的配置,可以在宿主机中的/docker-local/redis/redis.conf中进行更改相关的配置来满足我们的需求了。
更多信息可参考官方文档