Bootstrap

docker安装redis

一、 拉取redis镜像

搜索镜像

docker search redis

拉取镜像,没有指定版本的话,默认是最新的

docker pull redis

注:有可能镜像下载比较慢,可以配置国内镜像地址,参考设置docker安装mysql

拉取完成之后,可查看下载的镜像

docker images

在这里插入图片描述

二、运行容器

1.运行前准备

1.1创建redis文件夹

cd /usr/local
mkdir redis

1.2下载redis配置文件
redis官方配置文件并将文件放入新建目录之中
1.3修改配置文件

# 此配置表示只允许本机访问redis,注释即可开启远程访问redis,如果注释,记得给redis设置密码,否则容易被攻击
bind 127.0.0.1
#默认yes,开启保护模式,限制为本地访问
protected-mode no
#redis持久化(可选)
appendonly yes
#设置密码
requirepass 123456

运行命令

docker run -p 6379:6379 --name redis -v /usr/local/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

解释

docker run redis # 从redis镜像运行容器
-p 6379:6379 # 映射本地6379端口到容器6379端口,前者为本地端口
--name redis # 设置容器名称为redis,方便以后使用docker ps进行管理
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf # 关联本地/usr/local/redis/redis.conf文件到容器中/etc/redis/redis.conf,前者为本地
-v /usr/local/redis/data:/data # 关联本地/usr/local/redis/data到容器内/data目录,此为存放redis数据的目录,为方便以后升级redis,而数据可以留存
-d # 后台启动,使用此方式启动,则redis.conf中daemonize必须设置为no,否则会无法启动
redis-server /etc/redis/redis.conf # 在容器内启动redis-server的命令,主要是为了加载配置 

查看redis容器是否运行成功

#查看正在运行中的容器
docker ps
#查看docker中所有的容器
docker ps -a

三、可能遇到的问题

1.连接不上

1.1先试试本机能否连接

#进入redis容器内
docker exec -it redis /bin/bash
#使用redis客户端连接redis
redis-cli
#输出密码
auth 123456 

如果本机无法能连接redis,但是远程无法连接,可能需要检查如下设置
1.1.1.检查配置文件中远程连接的配置

1.1.2.服务器是否开启防火墙,如果开启,需要放开6379端口
服务器端口开放可参考文章linux端口开放
1.1.3.如果是云服务器,阿里云、腾讯云、百度云…这些,需要前往控制台,配置安全组,添加允许6379端口访问规则;

1.2本地无法连接
说明容器运行出错,查看日志

docker logs redis

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;