拉取镜像

$ docker pull redis:5.0.5

安装镜像

本来按照流程来的,直接docker run就行了,但是肯定需要配置一点东西么,

mkdir -p /Users/lingfohn/Workspaces/AntdAdmin/redis

这个时候直接去网上找个redis.conf样例修改一下其中的配置

wget http://download.redis.io/redis-stable/redis.conf

测试启动

docker run --rm \
-p 6379:6379 \
-v  /Users/lingfohn/Workspaces/AntdAdmin/redis/redis.conf:/etc/redis/redis.conf \
-v /Users/lingfohn/Workspaces/AntdAdmin/redis/data:/data \
--privileged=true \
--name redis \
redis:5.0.5 \
redis-server /etc/redis/redis.conf

问题

Error: Server closed the connection

protected-mode 是在没有显示定义 bind 地址(即监听全网断),又没有设置密码 requirepass 时,protected-mode 只允许本地回环 127.0.0.1 访问。 也就是说当开启了 protected-mode 时,如果你既没有显示的定义了 bind 监听的地址,同时又没有设置 auth 密码。那你只能通过 127.0.0.1 来访问 redis 服务。

解决方式:

  1. 注释bind 127.0.0.1
  2. protected-mode 设置为 no
  3. 设置requirepass

使用docker-compose安装

创建docker-compose.yml文件

version: '2'
services:
    redis:
      image: redis:5.0.5
      container_name: redis
      ports:
        - "6379:6379"
      volumes:
        - /Users/lingfohn/Workspaces/AntdAdmin/redis/redis.conf:/etc/redis/redis.conf 
        - /Users/lingfohn/Workspaces/AntdAdmin/redis/data:/data
      command: redis-server /etc/redis/redis.conf 
      privileged: true

执行docker-compose up -d命令