docker compose部署redis
一、配置docker镜像源
1.配置镜像源
Docker的配置文件通常是 /etc/docker/daemon.json 如果文件不存在,请创建它。
vim /etc/docker/daemon.json
然后粘贴以下内容
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1ms.run",
"https://ccr.ccs.tencentyun.com",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.ccs.tencentyun.com"
]
}
2.重启Docker服务
为了让新的配置生效,必须重启Docker服务
#重新加载配置
sudo systemctl daemon-reload
#重启Docker服务
sudo systemctl restart docker
3.验证是否生效
docker info

通过拉取镜像,测试一下
#拉取hello-world镜像
docker pull hello-world
#查看镜像源列表
docker images
可以看到hello-world镜像拉取成功。可以通过docker rmi 镜像ID删除镜像
二、docker部署redis
1.创建目录结构
我的配置和目录统一放在/software目录下。可以根据实际情况更改主目录
#创建主目录
sudo mkdir -p /software/reids
#创建子目录(数据卷挂载data和conf目录)
sudo mkdir -p /software/redis/conf
sudo mkdir -p /software/redis/data
2.创建并编辑配置文件
sudo vim /software/redis/conf/redis.conf
粘贴以下基础配置内容。记得设置自己的密码
# 允许外部网络连接
protected-mode no
# 监听所有网络接口
bind 0.0.0.0
# 设置密码 (请将 "your_strong_password" 替换为你的密码)
requirepass your_strong_password
# 开启 AOF 持久化 (Append Only File)
appendonly yes
# AOF 文件重写策略
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
# 设置工作目录,数据文件和日志文件会写在这里
dir /data
# 设置日志文件
logfile "redis-server.log"
3.处理权限问题
redis容器内的服务对向宿主机的/software/redis/data目录写入数据,需要修改该目录的权限。
#将数据目录的所有者和所属组更改为999
sudo chown -R 999:999 /software/redis/data
4.创建docker-compose.yml文件
#进入主目录
cd /software/redis
#编辑docker-compose.yml文件
vim docker-compose.yml
粘贴以下内容。
version: '3.8'
services:
redis:
# 使用官方的 Redis 镜像
image: redis:latest
# 容器名称
container_name: redis-server
# 端口映射:宿主机端口 6379 -> 容器端口 6379
ports:
- "6379:6379"
# 数据卷挂载
volumes:
# 将宿主机的配置文件挂载到容器内
- ./conf/redis.conf:/usr/local/etc/redis/redis.conf
# 将宿主机的数据目录挂载到容器内,实现数据持久化
- ./data:/data
# 启动命令,让 Redis 使用我们自定义的配置文件启动
command: redis-server /usr/local/etc/redis/redis.conf
# 重启策略:总是重启
restart: always
# (可选) 网络模式,如果需要和其他容器通信,可以自定义网络
networks:
- app-network
# (可选) 定义一个自定义网络,方便其他服务连接
networks:
app-network:
driver: bridge
在当前目录通过docker compose up -d命令启动容器,如下所示。
#进入docker-compose.yml所在目录
cd /software/redis
#启动容器
docker compose up -d
通过docker ps命令可以看到容器成功启动
连接成功。此处密码就是/software/redis/conf/redis.conf中设置的密码
5.通过docker compose命令快捷管理容器
使用docker compose命令时,一定要在docker-compose.yml同级目录
docker compose up -d启动容器docker compose stop停止容器docker compose restart重启容器docker compose down停止并移出容器docker compose logs查看容器日志docker compose ps列出compose应用中的各个容器docker compose rm删除已停止的compose应用,它会删除容器和网络
评论