如何在docker-compose之后访问docker内的redmine日志文件夹?

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

我是一个docker菜鸟,我尝试在Windows环境中实现一个redmine+mysql容器,然后在其中添加生产mysql转储。

在执行 sql 脚本生产转储后尝试访问 redmine 时遇到问题,在 sql 启动后,使用 docker 浏览 redmine 时仅出现内部错误。 我不知道如何更改数据撰写文件中的数据库名称,如果我用其他任何内容替换“redmine”,我的脚本就会损坏。

我也不知道如何访问 docker 中的 redmine 错误日志文件夹来解决问题。

这是我的 docker-compose 文件:

version: '3.7'

services:

  db:
    image: mysql:5.5.47
    restart: always
    ports:
      - 3306:3306
    volumes:
      - .\mysql_files\data-mysql:/var/lib/mysql
      - .\mysql_files\backup-mysql:/var/lib/mysql/backup
      - .\mysql_files\dump-mysql:/docker-entrypoint-initdb.d
    environment:
      MYSQL_ROOT_PASSWORD: monmdp
      MYSQL_DATABASE: redmine

  redmine:
    image: redmine:4.0.3
    restart: always
    ports:
      - 8080:3000
    depends_on:
      - db
    volumes:
      - .\redmine_files\files:/usr/local/redmine/files
      - .\redmine_files\logs:/var/log/redmine
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_PASSWORD: monmdp

如你所见,我尝试访问此行中的 redmine 日志文件夹:

    - .\redmine_files\logs:/var/log/redmine

但文件夹仍然是空的:(

预期结果:可以通过生产数据转储浏览redmine

当前结果:无法浏览redmine,也无法访问日志文件夹来检查问题所在。

感谢您的帮助

mysql docker docker-compose redmine
3个回答
2
投票

据我了解,您正在尝试访问redmine容器的日志,但发现

.\redmine_files\logs
目录为空。首先需要检查docker
/var/log/redmine
目录下是否有日志。您可以通过在 redmine shell 本身中运行命令来完成此操作。使用命令
docker exec -it redmine /bin/bash
移动到 redmine shell,使用
cd
/var/log/redmine
检查日志是否存在。如果您在那里找不到日志,则意味着没有日志可复制到
./redmine_files/logs
。 如果您在
/var/log/redmine
中找到日志,那么您的 docker-compose 文件一定存在问题,但对我来说似乎没问题。另外,正如@Mihai建议的,您可以使用命令
sudo docker-compose logs redmine
检查redmine的日志,看看它是否正常运行。


1
投票

这个停靠镜像主机 redmine 在 /usr/src/redmine/ 下,所以你应该使用

- .\redmine_files\logs:/usr/src/redmine/log


0
投票

对于Redmine的Dockerfile,日志文件不会保存在容器内。相反,它们被设置为直接输出到 STDOUT。

echo 'config.logger = Logger.new(STDOUT)' > config/additional_environment.rb; # line 93

https://github.com/docker-library/redmine/blob/master/5.0/bookworm/Dockerfile

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