赞
踩
docker search redis
docker pull redis
通过挂载配置文件的方式启动redis容器
(挂载:将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件)
1)、挂载redis的配置文件
2)、挂载redis 的持久化文件目录(为了数据的持久化)
配置文件目录可以根据需要自行配置,我这边的目录为:
mkdir -p /docker/redis/smart-park-redis/conf (配置文件目录)
mkdir -p /docker/redis/smart-park-redis/data (数据持久化目录)
3)、修改配置文件
1. protected-mode no, 保护模式,限制为本地访问,修改后解除保护模式
2. requirepass ^L{2fd9804A! 设置访问密码
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、--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 给容器加上特定权限,否则会报没有权限错误
启动成功。
如果以上命令启动失败,可以先尝试重启一下docker
systemctl restart docker
重启docker后再输入启动命令,如果还是启动失败,具体报错具体分析。
docker ps -a
启动redis容器时,设置了宿主机端口,那宿主机的端口就需要开启的,设置命令如下:
查询宿主机开放端口:
firewall-cmd --list-port
开启宿主机端口:
firewall-cmd --add-port=6379/tcp --permanent
–permanent表示永久开放端口
重启防火墙,刷新端口
systemctl restart firewalld
redis中的6379不能远程访问,可以使用如下命令开启远程访问:
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
docker stop smart-park-redis
docker rm smart-park-redis
删除镜像之前,先查询镜像ID
docker images
找到对应需要删除的容器id
docker rmi 7614ae9453d1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。