简介
说明
本文介绍使用Docker compose安装Redis的方法。
注意事项
- Docker compose安装Redis是有坑的:默认不会生成redis.conf配置文件,必须通过映射外部配置文件的方式才能生成配置文件。
- 必须将重要数据放到宿主机,防止docker挂了后数据丢失。
- 比如:配置文件、数据、日志
查看镜像
查看镜像
https://hub.docker.com/_/redis
脚本及配置
目录结构
├── docker-compose.yml # docker-compose.yml文件 ├── config │ └── redis.conf # redis配置文件 ├── data # 数据库数据文件目录 └── log └── redis.log # redis日志文件
创建目录的命令
mkdir -p /work/db/redis/{config,data,log}
docker-compose.yml
version: '3' services: redis: # 启动方式 #restart: unless-stopped # 镜像 image: redis:6.2.7 # 容器名字 container_name: redis6 ports: - 6379:6379 volumes: - ./config/redis.conf:/etc/redis/config/redis.conf - ./data:/data - ./log:/log # 在容器中执行的命令 command: redis-server /etc/redis/config/redis.conf environment: - TZ=Asia/Shanghai
/work/db/redis/conf/redis.conf
#bind 127.0.0.1 # 只能本地访问 # 默认yes表示开启保护模式,用来限制redis只能本地访问 protected-mode no # 默认no。yes:以守护进程方式启动,在后台运行,yes时无法用配置文件方式启动redis。 daemonize no # RDB持久化。默认是开启的 save "" # AOF持久化。默认是关闭的 appendonly no # 密码 requirepass code753. # 日志 logfile /log/redis.log # 最大内存。默认没限制 maxmemory 200MB # 回收策略。默认是noeviction(不清理) maxmemory-policy allkeys-lru
/work/db/redis/log/redis.log
必须在当前用户下新建此日志文件,并添加写的权限:
sudo touch redis.log; sudo chmod 666 redis.log;
否则会启动失败:
运行docker compose
法1:到配置文件目录下运行
docker compose up
会打印详细启动日志,而且会占用控制台。
在后台运行的方法:docker compose up -d。
法2:指定配置文件
docker compose -f /work/docker/docker-compose/redis6/docker-compose.yml up -d
docker compose的启动、停止等命令,全都是这样的,要么在配置文件目录下执行,要么指定配置文件。
查看运行结果
compose查看
docker compose ls
docker查看
docker ps
连接测试
停止容器
docker compose stop
停止容器,但不删除容器。
启动容器
docker compose start
删除容器
法1:rm
docker compose rm
只删除容器
法2:down
docker compose down
停止容器,然后删除容器。
请先
!