docker-compose,新的容器版本和日志持久性
docker-compose常见的用例:
- 使用git从存储库中提取应用程序的代码。
- docker-compose.yml看起来像这样:
version: '2' services: web: build: ./myapp
当我想部署一个新版本时,我只需要取得我的代码的最新版本,然后build立一个docker-compose up --build -d
。
几乎完美的作品,除了每次我做一个更新它擦除我的过去日志访问使用docker-compose logs
。 我明白为什么docker工人这样做(即使docker-compose重新创build一个具有相同名称的容器,它仍然是一个全新的容器,所以这是相当合理的日志被刷新)。 但是,这实际上并不实际。
任何人都有一个解决scheme呢? 最好不涉及修改映像或使用卷来存储日志。 (因为这应该是docker日志的重点,不必担心)。
启动容器时,可以将输出redirect到日志文件,如下所示:
docker-compose up --build --no-color --force-recreate &> logs &
docker-compose logs
而不是docker-compose logs
你可以tail logs
任何时候你想要的。
我认为最好的select是使用Docker文档中描述的Logging Driver选项之一: https : //docs.docker.com/engine/admin/logging/overview/
如果这不是一个可行的解决scheme,你能给我一个更多的背景来说明你的目标和障碍吗?