Docker-运行容器时清理文件内容

时间:2019-05-23 18:24:30

标签: docker docker-compose

在我的Docker容器中,我有一些日志文件。

import osmnx as ox
from shapely.geometry import Point
gdf = ox.gdf_from_place('Piedmont, CA, USA')
geom = gdf.loc[0, 'geometry']

# get the bounding box of the city
geom.bounds

# determine if a point is within the city boundary
coords = (-122.24, 37.82)
geom.intersects(Point(coords))

这些日志在任务运行时累加起来。

每次像这样运行容器时,是否有方法或命令来清理所有日志文件的内容?

docker-compose-dev.yml
                     entrypoint.sh
                     web/
                        celery_logs/
                                   log1.log
                                   log2.log
                                   logn.log

entrypoint.sh

docker-compose -f docker-compose-dev.yml up -d 

3 个答案:

答案 0 :(得分:0)

Docker文件(可选)

首先,如果只需要查看较少的输出,则可以让docker只向您显示最近的行:

docker logs --since 30s -f <container_name_or_id>

或者您可以限制行数:

docker logs --tail 20 -f <container_name_or_id>

发件人:StackOverFlow#41091634

手册

在这种情况下,最好使用手动方法:

 rm -rf celery_logs/*

答案 1 :(得分:0)

您可以强制重新放置容器:

docker-compose -f docker-compose-dev.yml up -d --force-recreate

您还可以将日志写入控制台,然后docker将能够使用其own drivers处理日志,该日志可以配置日志文件的最大大小等。

答案 2 :(得分:0)

您可以尝试在入口点脚本中执行rm -rf-

#!/bin/sh

rm -rf celery_logs/*
echo "Waiting for postgres..."

这样,每次启动新容器时,所有日志文件都将被清除。您可以根据需要提供绝对路径。