1. 拉取镜像
docker pull redis
2. 使用
docker run -p 6379:6379 --name redis1 -d redis
docker run -p 6379:6379 -v /docker/redis/data:/data --name redis1 -d redis
-p 6379:6379 映射本地6379端口到容器6379端口,前为本地端口
-v /docker/redis/data:/data 关联本地/docker/redis/data到容器内/data目录,此为存放redis数据的目录
docker run -p 6379:6379 -v /docker/redis/data:/data --name redis -d redis redis-server --appendonly yes
-p 6379:6379 映射本地6379端口到容器6379端口,前为本地端口
-v /docker/redis/data:/data 关联本地/docker/redis/data到容器内/data目录,此为存放redis数据的目录
redis-server 在容器内启动redis-server的命令
--appendonly yes 持久化
# Redis配置文件
# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize no
# 指定Redis监听端口,默认端口为6379
port 6379
# 绑定的主机地址,不要绑定容器的本地127.0.0.1地址,因为这样就无法在容器外部访问
bind 0.0.0.0
# 持久化
appendonly yes
docker run -p 6379:6379 --name redis -v /docker/redis/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf
-v /docker/redis/redis.conf:/etc/redis/redis.conf # 关联本地/docker/redis/redis.conf文件到容器中/etc/redis/redis.conf
How to use this image
start a redis instance
$ docker run --name some-redis -d redis
start with persistent storage
$ docker run --name some-redis -d redis redis-server --appendonly yes
If persistence is enabled, data is stored in the VOLUME /data
, which can be used with --volumes-from some-volume-container
or -v /docker/host/dir:/data
(see docs.docker volumes).
For more about Redis Persistence, see http://redis.io/topics/persistence.
connecting via redis-cli
$ docker run -it --network some-network --rm redis redis-cli -h some-redis
Additionally, If you want to use your own redis.conf ...
You can create your own Dockerfile that adds a redis.conf from the context into /data/, like so.
FROM redis
COPY redis.conf /usr/local/etc/redis/redis.conf
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
Alternatively, you can specify something along the same lines with docker run
options.
$ docker run -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf
Where /myredis/conf/
is a local directory containing your redis.conf
file. Using this method means that there is no need for you to have a Dockerfile for your redis container.
3. 运行redis客户端
docker exec -it myredis redis-cli
4. other