当前位置:   article > 正文

(二)在Docker中安装redis_docker redis安装目录

docker redis安装目录

二、Docker安装redis

1、查看redis镜像
docker search redis
  • 1

在这里插入图片描述

2、拉取redis镜像(不指定版本,默认拉取最新版本)
docker pull redis
  • 1

在这里插入图片描述

3、修改redis配置文件和持久化目录

通过挂载配置文件的方式启动redis容器
(挂载:将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件)

1)、挂载redis的配置文件

2)、挂载redis 的持久化文件目录(为了数据的持久化)
配置文件目录可以根据需要自行配置,我这边的目录为:

mkdir -p /docker/redis/smart-park-redis/conf  (配置文件目录)
mkdir -p /docker/redis/smart-park-redis/data  (数据持久化目录)
  • 1
  • 2

3)、修改配置文件

 1. protected-mode no,           保护模式,限制为本地访问,修改后解除保护模式 
 2. requirepass  ^L{2fd9804A!     设置访问密码
  • 1
  • 2
4、通过命令启动redis镜像
docker run --restart=always  -p 6379:6379 --name smart-park-redis  --privileged=true  -v /docker/redis/smart-park-redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/smart-park-redis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass ^L{2fd9804A!
  • 1
4.1、 命令详解
1、--restart=always 总是开机启动
2、-p 6379:6379 前面的6379是宿主机端口,后面是容器里面的端口
3、--name 给容器命名
4、-v 数据卷挂载     冒号前是宿主机目录,冒号后是容器目录
  /docker/redis/smart-park-redis/conf/redis.conf:/etc/redis/redis.conf 
  这里是将 liunx 路径下的redis.conf 和redis下的redis.conf 挂载在一起。
  /docker/redis/smart-park-redis/data:/data  持久化同上
5、-d redis 表示后台启动redis (开启守护进程,和配置文件里面的daemonize yes相同的作用,不要同时存在,不然会报错,推荐使用-d命令)
   redis-server /etc/redis/redis.conf 
   以配置文件启动redis,加载容器内的conf文件,但是最终找到的是挂载的目录 /etc/redis/redis.conf 
   也就是宿主机下的/docker/redis/smart-park-redis/conf/redis.conf
6、--appendonly yes 开启redis 持久化
7、--requirepass ^L{2fd9804A!   设置密码为^L{2fd9804A!
8、--privileged=true  给容器加上特定权限,否则会报没有权限错误
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在这里插入图片描述启动成功。

5、启动失败怎么办

如果以上命令启动失败,可以先尝试重启一下docker

systemctl restart docker
  • 1

重启docker后再输入启动命令,如果还是启动失败,具体报错具体分析。

6、状态查询
docker ps -a
  • 1

在这里插入图片描述

7、开启宿主机端口

启动redis容器时,设置了宿主机端口,那宿主机的端口就需要开启的,设置命令如下:

查询宿主机开放端口:

firewall-cmd --list-port
  • 1

开启宿主机端口:

firewall-cmd --add-port=6379/tcp  --permanent
  • 1

–permanent表示永久开放端口

重启防火墙,刷新端口

systemctl restart firewalld
  • 1

redis中的6379不能远程访问,可以使用如下命令开启远程访问:

/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
  • 1
8、卸载redis
8.1、停止容器
docker stop smart-park-redis
  • 1
8.2、删除容器
docker rm smart-park-redis
  • 1
8.3、删除镜像

删除镜像之前,先查询镜像ID

docker images
  • 1

找到对应需要删除的容器id
在这里插入图片描述

docker rmi 7614ae9453d1
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/305480?site
推荐阅读
相关标签
  

闽ICP备14008679号