与docker-compose相当常见的用例:
version: '2'
services:
web:
build: ./myapp
当我想部署新版本时,我只需提取最新版本的代码,然后制作docker-compose up --build -d
。
几乎完美无缺,除非每次进行更新,它都会删除使用docker-compose logs
可访问的过去日志。我理解为什么docker的行为方式如此(即使docker-compose重新创建一个具有相同名称的容器,它仍然是一个全新的容器,因此它的逻辑日志会被刷新)。但是,它确实不实用。
任何人都有解决方案吗?优选地,不涉及修改图像或使用卷来存储日志。 (因为这应该是docker日志的全部内容,而不必担心这一点。)
答案 0 :(得分:0)
您可以在启动容器时将输出重定向到日志文件,如:
docker-compose up --build --no-color --force-recreate &> logs &
而不是docker-compose logs
,您可以tail logs
随时随地。{/ p>
答案 1 :(得分:0)
我认为您最好的选择是使用Docker文档中描述的其中一个Logging Driver选项: https://docs.docker.com/engine/admin/logging/overview/
如果这不是一个可行的解决方案,你能否为我的目标和障碍提供更多背景信息?