在我的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
答案 0 :(得分:0)
首先,如果只需要查看较少的输出,则可以让docker只向您显示最近的行:
docker logs --since 30s -f <container_name_or_id>
或者您可以限制行数:
docker logs --tail 20 -f <container_name_or_id>
在这种情况下,最好使用手动方法:
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..."
这样,每次启动新容器时,所有日志文件都将被清除。您可以根据需要提供绝对路径。