docker redis - 无法打开日志文件:没有这样的文件或目录

时间:2016-03-12 09:20:41

标签: docker redis docker-compose

我的操作系统是:ubuntu:15.10

我想使用官方docker-hub redis ,但遇到了问题。

我的docker-compose.yml

version: '2'
services:

  redis:
    image: redis
    ports:
      - "6379:6379"
    volumes:
      -  ~/dbdata/redis_conf/redis.conf:/usr/local/etc/redis/redis.conf
    volumes_from:
      -  redisdata
    environment:
      - REDIS_PASSWORD: 29c4181fb842b5f24a3103dbd2ba17accb1f7e3c8f19868955401ab921
    command: redis-server /usr/local/etc/redis/redis.conf

redisdata:
    image: redis
    volumes:
      - /home/keryhu/dbdata/redisdb:/data
    command: --break-redis

我将默认的redis.conf复制到“〜/ dbdata / redis_conf / redis.conf”目录。只需将“requirepass”修改为“29c4181fb842b5f24a3103dbd2ba17accb1f7e3c8f19868955401ab921”

当我启动容器时,我遇到了错误 -

*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 103
>>> 'logfile /var/log/redis/redis-server.log'
Can't open the log file: No such file or directory

可以帮帮我吗?

2 个答案:

答案 0 :(得分:4)

我可以看到here,未指定日志文件,所有日志都输出到stdout。我不会改变这种行为,因为这样docker会自己管理日志,这是标准的,甚至更灵活的方式。

如果您想将日志输出重定向到我建议使用作曲家logging directive的地方。

答案 1 :(得分:0)

我也碰巧也遇到了这个问题。最后,我触摸了主机上的redis.log,然后将其安装在docker上。 step1: touch /yourself's location/redis-server.log docker run -d -v /yourself's location/redis-server.log:/var/log/redis/redis-server.log -v /your/redis.config:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf 如果要挂载文件或目录,则必须先存在它们,否则,它会导致权限被拒绝或目录为空。