Docker入门教程
  • Docker入门教程
  • nginx
  • mysql
  • redis
  • elasticsearch
  • gitlab
  • 部署企业内部聊天工具Rocket.Chat开源IM系统
  • sourcegraph
  • portainer
  • seaweedfs-docker
  • harbor
  • docker-compose
  • mattermost
Powered by GitBook
On this page
  • 下载镜像
  • 运行容器
  • 使用自己的配置
  • 修改配置文件
  • 重启容器让配置生效

Was this helpful?

redis

PreviousmysqlNextelasticsearch

Last updated 5 years ago

Was this helpful?

下载镜像

$ docker pull redis:4.0.11

运行容器

$ docker run -d --rm -p  6389:6379 --name redis2 redis:4.0.11 redis-server --appendonly yes

使用自己的配置

加载自己的配置文件,需要重新编译一个 images,通过复制官方。

FROM redis:4.0.11
RUN mkdir -p /etc/redis
# 设置时区
ENV TimeZone=Asia/Shanghai   
RUN ln -snf /usr/share/zoneinfo/$TimeZone /etc/localtime && echo $TimeZone > /etc/timezone

COPY ./redis.conf /etc/redis/redis.conf
CMD [ "redis-server", "/etc/redis/redis.conf" ]
EXPOSE 6379

创建 docker 镜像,镜像名字为 redis,标记 4.0.11

docker image build -t redis:4.0.11 .

如果你不需要更改配置,可以直接 docker pull redis:4.0.11 下载镜像。

# 先运行 redis
docker run -d --rm -p  6389:6379 --name redis2 redis:4.0.11 redis-server --appendonly yes
# docker 禁止用主机上不存在的文件挂载到 container 中已经存在的文件
docker container cp redis2:/etc/redis/redis.conf $HOME/_docker/redis/conf/redis.conf
# 完成拷贝文件,停止 redis 容器 --rm 参数表示停止删除 redis2 容器
docker stop redis2
# 这个时候,container 中已经存在的配置文件
docker run -d \
  -p 6389:6379 \
  --name redis2 \
  --restart always \
  -v $HOME/_docker/redis/data:/data \
  -v $HOME/_docker/redis/conf:/etc/redis \
  -v /etc/localtime:/etc/localtime:ro \
  redis:4.0.11 redis-server --appendonly yes
# redis-server --appendonly yes 数据持久化

修改配置文件

修改配置文件 $HOME/_docker/redis/conf/redis.conf 将数据持久化目录指向 /data 目录,设置配置中的 dir /data。

vim ~/_docker/redis/redis.conf

重启容器让配置生效

docker restart redis2
Redis
Redis 配置