docker-compose,新容器版本和日志持久性

nic*_*van 6 docker docker-compose

docker-compose 非常常见的用例:

  • 使用 git 从存储库中提取的应用程序代码。
  • 一个 docker-compose.yml 看起来像这样:

version: '2' services: web: build: ./myapp

当我想部署新版本时,我只需提取最新版本的代码,然后创建一个docker-compose up --build -d.

几乎完美地工作,除了每次我进行更新时,它都会删除我使用docker-compose logs. 我理解为什么 docker 会这样(即使 docker-compose 重新创建了一个同名的容器,它仍然是一个全新的容器,所以它的逻辑日志会被刷新)。尽管如此,它确实不实用。

任何人都有解决方案?最好是涉及修改图像或使用卷来存储日志的。(因为这应该是 docker 日志的重点,不必担心)。

Aym*_*ine -1

您可以在启动容器时将输出重定向到日志文件,例如:

docker-compose up --build --no-color --force-recreate &> logs &
Run Code Online (Sandbox Code Playgroud)

而不是docker-compose logs你可以tail logs随时都可以。