使用Docker部署Redis

使用Docker部署Redis

拉取镜像

这里以Redis3.2版本为例

1
docker pull redis:3.2

运行容器

1
docker run -d -p 6379:6379 -v $PWD/data:/data --name redis redis:3.2 redis-server --appendonly yes

这里对部分命令做一下说明:

  • -p 6379:6370: 将容器的6379端口映射到宿主机的6379端口
  • -v $PWD/data:/data: 将主机中当前目录下的data挂载到容器的/data,这样做是为了持久化容器内的数据
  • redis-server –appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置

这里就会有一个问题,可以使用使用自定义的redis.conf配置吗?答案当然是可以的。可以通过两种方式来实现,一种是自定义的Dockerfile,另一种是直接通过docker run命令来进行指定,首先需要在本机准备好一个redis.conf。

  • Dockerfile

    1
    2
    3
    FROM redis
    COPY redis.conf /usr/local/etc/redis/redis.conf
    CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
  • docker run

    1
    docker run -v $PWD/redis.conf:/usr/local/etc/redis/redis.conf --name redis redis redis-server /usr/local/etc/redis/redis.conf

这时候查看Redis容器启动状况:

1
docker ps

1
2
3
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
21d1f921e382 redis:3.2 "docker-entrypoint.s…" Less than a second ago Up 2 seconds 0.0.0.0:6379->6379/tcp admiring_bose

容器交互

在Redis容器启动成功后,可以通过redis-cli命令连接到容器
使用命令进入容器

1
2
$ docker exec -it redis redis-cli
127.0.0.1:6379> info

此时可以看到terminal输出了Redis容器的基础信息,说明Redis容器已经可以使用了,也可以使用Redis客户端连接Redis容器,地址是: $ip:6379