使用Docker部署Redis
拉取镜像
这里以Redis3.2版本为例
docker pull redis:3.2
运行容器
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
FROM redis COPY redis.conf /usr/local/etc/redis/redis.conf CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
- docker run
这时候查看Redis容器启动状况:docker run -v $PWD/redis.conf:/usr/local/etc/redis/redis.conf --name redis redis redis-server /usr/local/etc/redis/redis.conf
docker ps
$ 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命令连接到容器
使用命令进入容器
$ docker exec -it redis redis-cli
127.0.0.1:6379> info
此时可以看到terminal输出了Redis容器的基础信息,说明Redis容器已经可以使用了,也可以使用Redis客户端连接Redis容器,地址是: $ip:6379