查看镜像来源
docker search redis
-
- 获取 redis 镜像(不加版本号默认获取最新版本)
docker pull redis
查看本地镜像
docker images
挂载外部配置和数据安装
创建目录
mkdir /opt/redis
mkdir /opt/redis/conf
mkdir /opt/redis/data
创建redis配置文件
touch /opt/redis/conf/redis.conf
touch /opt/redis/conf/sentinel.conf
给权限
chmod 755 -R /opt
修改默认配置文件
vi /opt/redis/conf/redis.conf
#修改内容
# bind 127.0.0.1
protected-mode no
port 6379
daemonize no
requirepass xsh12345xsh12345
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
-
-
- bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
- protected-mode no #默认yes,开启保护模式,限制为本地访问
- daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败
- requirepass xsh12345xsh12345 #输入redis数据库密码(可选)
- appendonly yes #redis持久化(可选)
-
docker 启动 redis 命令
docker run -p 6379:6379 -p 26379:26379 --name redis -v /opt/redis/conf/redis.conf:/etc/redis/redis.conf -v /opt/redis/conf/sentinel.conf:/etc/redis/sentinel.conf -v /opt/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
命令解释说明:
-
-
- -p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
- --name myredis 指定该容器名称,查看和进行操作都比较方便。
- -v 挂载目录,规则与端口映射相同。
- -d redis 表示后台启动redis
- redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
- appendonly yes 开启redis 持久化
-
使用docker ps 查看redis已经运行了
docker ps -a
进入redis
docker exec -it redis /bin/bash
使用 redis-cli 可以测试连接
#开端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#防火墙重新加载
firewall-cmd --reload
#看端口
firewall-cmd --zone=public --list-ports
服务器重启后就不要执行 docker run 了,要用以下命令
docker start redis -- 启动容器
docker exec -it redis /bin/bash -- 进入容器
最好在/root 或对应的用户目录写个shell:
比如:
cd /root
vi redis.sh
然后输入以下代码
#!/bin/sh
docker start redis
docker exec -it redis /bin/bash
wq 保存后给权限
chmod 755 *.sh
以后就可以用 ./redis.sh 启动了。