docker容器的导入导出
- 导出容器
docker export 容器id > 容器快照名
- 导入容器为镜像
cat 容器快照名.tar | docker import - 镜像名:标签
docker容器日志查看与清理
- Docker容器日志
每个容器的日志默认都会以json-file的格式存储于/var/lib/docker/containers/<容器id>/<容器id>-json.log下。
- 查找全部容器的日志文件
find /var/lib/docker/containers -name *.log
- 查看日志位置
docker inspect --format='{{.LogPath}}' <container_name>
- 实时查询内容
tail -f `docker inspect --format='{{.LogPath}}' <container_name>`
- 编写脚本查看、清理日志
知道了docker产生的日志和文件的存储位置,进行日志清理
- 查看容器日志大小 — logs_file_size.sh
echo "======== docker containers logs file size ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
ls -lh $log
done
- 清理日志 — clean_containers_logs.sh
echo "======== start clean docker containers logs ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
echo "clean logs : $log"
cat /dev/null > $log
done
echo "======== end clean docker containers logs ========"
注:cat /dev/null > $log 表示将$log的文件内容清空
可通过 sh logs_file_size.sh 和 sh clean_containers_logs.sh 运行两个shell脚本。
echo "======== start clean docker containers logs ========"
logs=$(find /zoom/docker/containers/ -name *-json.log)
for log in $logs
do
echo "clean logs : $log"
cat /dev/null > $log
done
echo "======== end clean docker containers logs ========"