为什么Redis docker容器创建后redis.conf变成一个目录

问题描述 投票:0回答:1

我正在尝试使用命令创建 Redis 集群及其容器之一:

docker run -d -v cluster-config.conf:/usr/local/etc/redis/redis.conf --name redis-1 redis redis-server /usr/local/etc/redis/redis.conf

以同样的方式创建另一个

redis-2
,...,
redis-6
容器。

我的

cluster-config.conf
包含:

端口 6379
启用集群 是
集群配置文件nodes.conf
集群节点超时 5000
仅追加 是

但是当我执行到任何这个容器时,我发现

/usr/local/etc/redis/redis.conf
不是一个文件,它变成了一个文件夹:

# cat redis.conf
cat: redis.conf: Is a directory

我做错了什么,所以redis.conf变成了一个目录?

docker redis redis-cluster redis-cli
1个回答
0
投票

对我来说,我尝试在 docker 上设置 redis,这是

docker-compose.yml
文件:

redis1:
image: redis:7
command: redis-server /etc/redis.conf
networks:
  - my-network
ports:
  - 6390:6379
volumes:
  - ./redis.conf:/etc/redis.conf
restart: always

我是如何修复它的:

volumes:
  - ./redis.conf:/etc/redis.conf:ro

我已将

:ro
添加到 docker 部分。
我这样做的原因是因为有时将目标路径指定为文件而不是目录可以解决此问题。

希望它能帮助别人。

© www.soinside.com 2019 - 2024. All rights reserved.