1.版本信息

通过 docker version 命令可以获取当前docker版本信息

Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-103.git7f2769b.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7f2769b/1.13.1
 Built:           Sun Sep 15 14:06:47 2019
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-103.git7f2769b.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7f2769b/1.13.1
 Built:           Sun Sep 15 14:06:47 2019
 OS/Arch:         linux/amd64
 Experimental:    false

2.部署redis镜像

2.1 搜索redis镜像

通过 docker search redis 命令搜索redis相关镜像

docker search redis

如下是部分搜索结果,OFFICIAL 表示是官方镜像

redis.png

2.2 拉取redis镜像

通过 docker pull docker.io/redis 命令拉取redis镜像,默认是latest版本

docker pull docker.io/redis

拉取成功后,可以通过 docker images 确认镜像

docker images

2.3 创建相关目录以及配置文件

# 创建相关目录
mkdir -p /opt/redis/data /opt/redis/conf

# 在/opt/redis/conf目录下创建redis.conf 文件
touch redis.conf

redis.conf配置文件如下,可以从官网下载,配置文件全解析参考

#允许此ip访问,开放所有访问注释掉即可
bind 127.0.0.1  

#连接监听端口,默认6379;设置为0将不监听 
port 6379    
  
#开启保护模式,限制为本地访问 
protected-mode no 

#默认no,改为yes以守护进程方式启动
daemonize no 

#设置数据库的数量,默认的数据库序列是0,可以通过select<dbid来切换
databases 16 

#RDB 跟 AOF 文件都会保存在该路径下
dir  ./ 

#开启AOF
appendonly yes 

#aop文件名
appendfilename appendonly.aof

#配置redis访问密码
requirepass 123456 

2.4 启动redis容器

使用如下命令启动:

docker run -d -p 6379:6379 --name redis \
-v /opt/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /opt/redis/data/:/data \
redis redis-server /etc/redis/redis.conf
  • -v 表示挂载文件系统
  • -d 表示后台启动
  • -p 表示端口映射

检查redis的启动情况

docker logs -f redis
  • logs 可以查看redis的启动日志

2.5 进入容器使用redis-cli

可以使用如下环境,进入容器环境

docker exec -it redis /bin/bash

容器内使用redis-cli

# 使用reids-cli
redis-cli

# 进入后执行auth指令,应为我们设置了密码
auth 123456

# 测试写入
set hello world

# 测读取
get hello

3.常见问题

3.1 容器启动失败

问题描述: redis 容器启动失败,配置文件中 deamon yes

问题解决: 调整配置文件

#yes会使配置文件方式启动redis失败
deamon no

3.2 启动成功无法访问

问题描述:redis启动成功,仅本机可以访问,其他网络不可访问

问题解决:

1. 首先检查配置文件是否设定了 **bind 127.0.0.1** 或者其他参数,如做
了相关配置,则需要注释掉该配置
 
2. 检查保护模式是否被开启 **protected-mode yes** 需要将yes 调整为no

3. 如无以上情形请检查您的网络情况,或者防火墙的相关配置

作者是一个技术肥宅,还在不断的学习进步中,如果我的文章可以帮到您,欢迎留言,这将是对笔者莫大的鼓舞,也十分欢迎各位 杠精 读者指出文中不足之处;欢迎转载,烦请注明出处。