BaoXuebin / beancount-gs

基于 beancount 提供个人记账财务管理的 RESTful API 服务(包含前端页面)
https://www.yuque.com/chuyi-ble7p/beancount-gs
MIT License
317 stars 42 forks source link

Docker部署成功后闪退~ #61

Open kklod opened 1 year ago

kklod commented 1 year ago

Debian上docker部署,运行一段时间后自动退出,日志显示如下~~

image
BaoXuebin commented 1 year ago

是最新的 v1.1.13版本吗?

kklod commented 1 year ago

嗯 最新版

BaoXuebin commented 1 year ago

你好,我这边暂时没有 Debian 去复现这个问题,下面是 chatgpt 给出的排查步骤,你可以试试看 :-)


"Docker 没有与过滤器匹配的日志行" 这个错误信息通常是由 Docker 容器的日志记录系统引发的问题,这可能与 Docker 容器的日志驱动程序或配置有关。要解决此问题,你可以采取以下步骤:

  1. 检查 Docker 日志驱动程序:Docker 支持多种日志驱动程序,例如 json-file、journald、syslog 等。你可以在 Docker 守护程序的配置中指定所使用的日志驱动程序。确保你的 Docker 配置与你的需求匹配,或者尝试切换到其他日志驱动程序。

    /etc/docker/daemon.json 文件中,你可以配置 Docker 的日志驱动程序。例如:

    {
       "log-driver": "json-file"
    }
  2. 查看容器日志输出:通过运行 docker logs <容器ID或容器名称> 命令来查看容器的日志输出。这将显示容器的标准输出和错误输出。查看容器的详细日志信息,以找出导致容器闪退的具体问题。

  3. 检查容器运行配置:确保容器的运行配置正确。容器配置包括容器的启动命令、环境变量、挂载的卷等。错误的配置可能导致容器无法正常运行。

  4. 查看容器启动参数:检查你运行容器的 docker run 命令及其参数。确保它们与容器的要求和期望匹配。可能需要调整容器的参数,例如映射端口、卷等。

  5. 更新 Docker 版本:如果你正在使用较旧版本的 Docker,尝试升级 Docker 到最新版本,以确保你使用的是稳定版本。

  6. 查看宿主机日志:有时,宿主机上的问题也可能导致容器无法正常运行。检查宿主机上的系统日志以查找与 Docker 相关的错误消息。

如果问题仍然存在,提供更多容器的详细信息和你的 Docker 配置,以便我可以提供更具体的帮助。

SYSTEMG2000 commented 8 months ago

请问是否在部署时配置了docker-compose中那条命令sh -c "cp -rn /app/public/default_icons/* /app/public/icons && ./beancount-gs -p 80"? 我刚开始也是容器无法启动,添加这条命令作为post argument以后成功启动。我的部署环境是UNRAID。

BaoXuebin commented 8 months ago

@SYSTEMG2000 使用的是 https://github.com/BaoXuebin/beancount-gs/blob/main/docker-compose.yml 这个文件吗?

SYSTEMG2000 commented 8 months ago

我部署时使用Unraid自带的模板工具,可以认为是docker run,并未使用compose文件。但是如果不加compose中的command就无法启动,也不会留下任何日志。

BaoXuebin commented 8 months ago

是的,镜像编译文件 dockerfile 中没有定义启动命令,需要手动指定