gpt4 book ai didi

ruby-on-rails - Docker,docker-compose,重启 : unless-stopped loose logs in console

转载 作者:行者123 更新时间:2023-12-02 18:07:40 24 4
gpt4 key购买 nike

我有一个 docker-compose.yml版本 3 效果很好:

version: '3'

services:

db:
image: postgres
restart: unless-stopped
ports:
- "5432:5432"

redis:
image: redis
restart: unless-stopped
ports:
- "6379:6379"

app:
build: .
restart: unless-stopped
command: bash ./script.sh
volumes:
- bundle:/bundle
ports:
- "3000:3000"
- "1234:1234"
depends_on:
- db
- redis
stdin_open: true
tty: true

volumes:

bundle: {}

我将它与 Rails 一起使用,并从 Windows 端口 1234 调试连接。一切正常。

但。

有时我的 Rails 服务器崩溃。它发生了。所以我需要 app容器自行重启。确实如此。但是我丢失了 powershell 控制台中的日志。

当以 docker-compose up 开头时我看到了一切。

app容器崩溃并自行重启我没有看到"new"中的任何内容 app容器。为什么?

如果我手动关闭 app容器并手动启动它 重新启动容器之前的所有日志再次像尼亚加拉大瀑布一样向下滚动!

漏洞?我自己的错误?

最佳答案

简单的答案,它既不是 docker 错误,也不是您的错误 =)

Docker 日志分别附加到容器,因此当您尝试查看日志时(在创建新的应用程序容器之后),您会注意到它是空的,并且没有可向上滚动的历史记录。
实际上,您要查找的日志已附加到已删除并由新应用程序容器替换的旧容器中。

作为一种解决方法,只需始终将 Rails 应用程序中的日志文件卷安装到 docker 外部,这样您就不会丢失任何数据。

即使您停止或删除容器,日志/数据也将是持久的。

关于ruby-on-rails - Docker,docker-compose,重启 : unless-stopped loose logs in console,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47699035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com