Docker 运行 Redis
Feb 26, 2019 16:00 · 415 words · 1 minute read
Docker 的一大优点是无需事先在开发者的计算机上安装就能快速试用某个应用程序。
启动一个运行着 Redis 的容器
命名为 my_redis
并对外暴露6379端口
$ docker run --name my_redis -p 6379:6379 -d redis
检查是否启动成功并正在运行:
$ docker ps
查看日志:
$ docker logs my_redis
在容器内部运行 Redis CLI 客户端
在运行的容器内部创建一个交互性的会话,并使用 redis-cli
:
$ docker exec -it my_redis sh
# redis-cli
尝试下基本的 Redis 命令
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set name HF
OK
127.0.0.1:6379> get name
"HF"
127.0.0.1:6379> exit
# exit
从另一个链接的容器连接
启动另一个基于 redis
镜像的容器,但只用它来跑 redis-cli
。所以我们要带上交互模式选项 -it
来运行 shell,这样就不会运行 Redis 本身了。--rm
会在 shell 运行后删除 redis。
$ docker run --name my_client -it --rm --link my_redis:redis redis sh
# redis-cli -h redis
redis:6379> get name
"HF"
退出 redis-cli 和 shell
redis:6379> exit
# exit
my_client
容器会把自己删掉。
docker ps -a
只能看到上一个 Docker 容器
清除
终止并删除 my_redis
容器
$ docker stop my_redis
$ docker rm my_redis
运行容器,但数据存储在本地(推荐)
$ docker run --name my_redis -p 6379:6379 -v path/to/data:/data -d redis redis-server --appendonly yes
-v path/to/data:/data
将本地的储存 redis 数据的路径挂在到容器的 /data 目录redis-server --appendonly yes
打开 redis 持久化配置,容器停止运行后数据不会丢失