【docker compose部署redis】

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"
  ]
}

更多docker镜像源

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应用,它会删除容器和网络

https://blog.csdn.net/lrenyan/article/details/156607169?fromshare=blogdetail&sharetype=blogdetail&sharerId=156607169&sharerefer=PC&sharesource=lrenyan&sharefrom=from_link

评论