【问题标题】:Not able to start Redis Sentinel Container in Docker无法在 Docker 中启动 Redis Sentinel 容器
【发布时间】:2020-09-05 01:49:14
【问题描述】:

我正在尝试在 docker 上设置 Redis sentinel,但 sentinel 容器没有启动。我有一个主人和一个奴隶和一个哨兵。

我正在使用 ec2 ubuntu 实例 (t2 micro),我在其中安装了 docker。

这是 docker-compose.yaml

version: '3.5'

services:
  redis-master:
    container_name: "redis-master"
    image: redis
    ports:
      - "6379:6379"
    command: "redis-server /usr/local/etc/redis/redis.conf"
    volumes:
      - "./data/master:/data/"
      - "./master.conf:/usr/local/etc/redis/redis.conf"
    sysctls:
       - net.core.somaxconn=512
  redis-slave:
    container_name: "redis-slave"
    image: redis
    ports:
      - "6380:6379"
    command: "redis-server /usr/local/etc/redis/slave.conf"
    volumes:
      - "./data/slave:/data/"
      - "./slave.conf:/usr/local/etc/redis/slave.conf"
    sysctls:
       - net.core.somaxconn=512
  redis-sentinel:
    container_name: "redis-sentinel"
    image: redis
    ports:
      - "26379:26379"
    command: "redis-server /usr/local/etc/redis/sentinel.conf --sentinel"
    volumes:
      - "./sentinel.conf:/usr/local/etc/redis/sentinel.conf"
    sysctls:
       - net.core.somaxconn=512
    depends_on:
      - redis-master
      - redis-slave

启动后出现以下错误,并且哨兵容器被杀死

Sentinel 配置文件 /usr/local/etc/redis/sentinel.conf 不可写:权限被拒绝。退出...

【问题讨论】:

  • 正在添加的sentinel.conf文件的文件权限是什么?在添加之前尝试对文件执行chmod 777

标签: caching redis docker-compose redis-cluster redis-sentinel


【解决方案1】:

redis启动时使用redis用户,所以你可以制作

chown redis:redis /etc/redis/sentinel.conf

在你的 redis-sentinel dockerfile 或者如果您只想坚持使用撰写文件,您可以尝试

command: bash -c "
    chown redis:redis /etc/redis/sentinel.conf
    && redis-server /usr/local/etc/redis/sentinel.conf --sentinel
  "

【讨论】:

    猜你喜欢
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    • 2017-12-28
    • 1970-01-01
    相关资源
    最近更新 更多