Docker Redis
下载 redis
- 下载命令
docker pull redis
- 查看命令
$ docker images | grep redis
redis latest c5355f8853e4 5 weeks ago 107MB
指定下载的版本
默认是下载最新的版本。
有时候你可能希望指定下载的版本。
- 查看版本
访问 [https://hub.docker.com//redis?tab=tags](https://hub.docker.com//redis?tab=tags)
- 指定版本
$ docker pull redis:4.0
运行 image
docker run --name my-redis -d redis
- 查看
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c86ec24c49dd redis "docker-entrypoint.s…" 7 minutes ago Up 7 minutes 6379/tcp my-redis
访问
另开一个 container 进入
docker exec -it c86ec24c49dd redis-cli
c86ec24c49dd
就是 redis 运行的 container id。
可以直接进入命令行
redis:6379> set name hello
OK
redis:6379> get name
"hello"
redis:6379>
- 查看信息
redis:6379> info
docker 端口暴露
docker run -p 6379:6379 --name out-redis -d redis
将容器的 6379 暴露到 外部 6379。
查看
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
23fc6d14c62b redis "docker-entrypoint.s…" Less than a second ago Up 2 seconds 0.0.0.0:6379->6379/tcp out-redis
b430f08c9bcd redis "docker-entrypoint.s…" 4 hours ago Up 4 hours 6379/tcp some-redis
out-redis 就是对于外部可见的。
some-redis 对于外部不可见。
- 查看端口信息
docker port ${container_id}
例子:
$ docker port 23fc6d14c62b
6379/tcp -> 0.0.0.0:6379
指定 conf
- 下载地址
此处给出修改后的配置 redis.conf
指定
- 创建文件夹
mkdir mkdir ~/docker/redis
可以将 redis.conf
放在此路径下面
本测试环境为:
/Users/houbinbin/docker/redis/redis.conf
- 运行命令
docker run -d -p 6379:6379 --name redis -v ~/docker/redis:/var/lib/redis redis redis-server /var/lib/redis/redis.conf
- log
2cc8ed33d174cec19bfe5cf098d94c2ecfa3eaa198d7bb0de520fff847f9766b
运行已经存在的 Redis 镜像
查看镜像
docker images | grep redis
如下:
redis latest 5958914cc558 4 months ago 136MB
说明镜像已经存在。
运行镜像
docker run --name my-redis -d redis
日志如下
docker: Error response from daemon: Conflict. The container name "/my-redis" is already in use by container "c86ec24c49dd6e35fd9689d641f543bafcf0c6a91f43f2fbe16fab2ab834989f". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
说明 container 已经存在。
运行 container
docker container start my-redis
my-redis
正常启动。
访问 Redis
- 查看 container.ID
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
c86ec24c49dd redis "docker-entrypoint.s…" 3 months ago Up 4 minutes 6379/tcp
my-redis
- 进入 container
docker exec -it c86ec24c49dd redis-cli
直接进入,测试即可。