项目中使用redis很常见,所以安装redis是每个小伙伴都应该熟练的技能。
这里定义两个概念 ,请记住。
- 宿主:你正在操作的linux系统(或是云服务器或者是实体服务)
- 容器:也就是在docker中虚拟出来的linux
1.安装redis
1.拉取镜像
这里也可以加上版本号,如果不加,默认最新。
1 | 复制代码docker pull redis |
2.查看本地镜像
查看本地镜像是否成功。
1 | 复制代码docker images |
3.修改配置
在linux新建任意一文件夹,这里楼主新建了/usr/local/redis 。在官网或者其他redis工程中,获取redis.conf,并以下配置修改好的后放入上文新建的文件夹中。
1 | yaml复制代码#bind 0.0.0.0 #带bind的注释掉 |
4.新建数据文件夹
新建/usr/local/docker/data文件夹,放置容易映射过来的数据(对应着下文参数,可以修改,如果修改自己对应一下)
docker容器会与宿主机建立连接,然后将数据同步到宿主机中,这样就不用每次都进入docker容器操作文件了。
下图为安装后,宿主映射出来的文件数据。
5.运行容器
1 | bash复制代码docker run -p 6379:6379 --name redis -v /usr/local/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes |
命令中的文件夹路径是可以更改的,请按照个人环境自行修改。
6.命令解释
- -p 6379:6379:第一个6379是宿主机的端口,第二个6379是reids容器的向外提供的端口。这个意思也就是宿主使用6379端口接收redis容器6379发出的请求。
- –name redis :容器名称
- -v /usr/local/redis/redis.conf:/etc/redis/redis.conf :将上文指定宿主/usr/local/redis/redis.conf文件映射到容器的/etc/redis/redis.conf
- -v /usr/local/docker/data:/data :将容器的数据映射过来
- -d redis redis-server /etc/redis/redis.conf :将容器下/etc/redis/redis.conf文件作为容器redis的配置启动项
- –appendonly yes :标识开启持久化 这里只是演示可以通过这种方式设置参数
7.查询运行信息
1 | 复制代码docker ps |
2.常见异常
1 | bash复制代码changing ownership of '.': Permission denied或者chmod: changing permissions of'/var/lib/postgresql/data': Permission denied |
以上错误时执行 -v /usr/local/redis/redis.conf:/etc/redis/redis.conf
出现的,因为docker容器没有宿主机的权限所以报错!
结论
关闭SELinux
1 | ini复制代码getenforce #查看SELinux状态 permissive关闭状态 enforcing开启状态 |
本文转载自: 掘金