首页 > 其他分享 >Docker-日志以及磁盘占满解决

Docker-日志以及磁盘占满解决

时间:2023-02-23 09:55:19浏览次数:32  
标签:容器 -- containerd 镜像 磁盘 Docker docker 日志

磁盘占满

du -x -h --max-depth=1 /var/lib/docker/containers/
docker ps -a   

step by step

01. docker info 
    Docker Root Dir: /var/lib/docker
02.du -x -h --max-depth=1 /var/lib/docker
    docker默认存放镜像地址为 /var/lib/docker 
   容器的日志文件在/var/lib/docker/containers/	

03.docker system df 	

容器日志

查看容器日志命令: 
# 查看所有容器下日志的大小
    find /var/lib/docker/containers/ -name *-json.log |xargs du -
   docker logs -f container_name(容器名称)
  进程一直在持续输出,而这些输出会记录到docker日志中,
删除日志
    01.通过rm 日志删除后重启docker
      Linux或者Unix系统中,通过rm -rf或者文件管理器删除文件,
      将会从文件系统的目录结构上解除链接(unlink)。
      如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用
	  <1>.查看当前目录正在被哪些进程在使用  
	      fuser -uv .
		  lsof
	      pidof 
    02.覆盖操作 *cat /dev/null > -json.log
限制容器日志--不禁止日志输出,可以限制文件的大小	
    全局:docker需要重新加载配置文件和重启
        /etc/docker/daemon.json  中log-opts参数
    	参数 说明
          log-opts max-size 容器日志文件上限大小
          log-opts max-file 窗口日志文件上限个数
    容器范围内 
      docker run增加如下参数
        --log-opt max-size=100m --log-opt max-file=3

附录

02.删除roscore进程
    killall -9 roscore
    killall -9 rosmaster
03.端口占用
  fuser -v 66/udp 77/udp   
  lsof -i:66 
04.ROS主从设置取消
 export ROS_HOSTNAME=localhost
 export ROS_MASTER_URI=http://localhost:11311 
 
05.ping 192.128.1.2 判断硬件是否可以连接通
  sudo chown -R tt:tt  ./data
   --recursive
 lsblk -d -o name,rota  
      查看,0表示固态硬盘,1表示机械硬盘, 
 lsblk -f 
      也可以查看挂载和未挂载的文件系统类型
 file -s /dev/sda3 
       查看指定挂载盘的文件系统类型
 df -Th  命令 查看文件系统类型在Type列输出
    
 du -h -x --max-depth=1     
      磁盘空间根目录占满,命令逐级查找大文件
 scp -r 

镜像的架构

 Linux container runtime / Wasm containerd shim 	 
 ###Docker容器引擎安装后包含有这些组件:dockerd、Containerd、runc。
    dockershim  “shim”,意思是“垫片”。	 
###k8s -CRI
 Kubelet
   CRI(Container Runtime Interface)
   CRI shim是实现CRI接口的gRPC server服务,负责连接Kubelet和Container runtime
	   Container runtime是容器运行时工具,它为用户进程隔离出一个独立的运行环境
K8s的调用方式	   
 CRI 接口调用 dockershim,然后 dockershim 调用 docker,docker 再去 containerd 操作容器。
 CRI 接口直接调用 containerd 操作容器

ctr    是 containerd 的一个客户端工具。
crictl 是 CRI 兼容的容器运行时命令行接口,可以使用它来检查和调试 k8s 节点上的容器运行时和应用程序。

 docker 由 docker-client,dockerd,docker-shim,containerd,runc组成,所以containerd是docker的基础组件之一

容器运行时标准(runtime spec) 容器镜像标准(image spec) ###

OCI (Open Container Initiative 开放容器标准),该规范包含两部分内容:
     容器运行时标准(runtime spec)、容器镜像标准(image spec)
容器运行时标准	-init  creating created running stopped	 
	高级容器运行时--开源containerd
	   containerd
	   cri-o 
	低级容器运行时有:
	    runc : 我们最熟悉也是被广泛使用的容器运行时,代表实现Docker。runv:
		runV : 是一个基于虚拟机管理程序(OCI)的运行时。它通过虚拟化 guest kernel,将容器和主机隔离开来,使得其边界更加清晰,。代表实现是kata和Firecracker
		runsc: runsc = runc + safety ,典型实现就是谷歌的gvisor,通过拦截应用程序的所有系统调用,提供安全隔离的轻量级容器运行时沙箱。用案例。
		wasm :  Wasm的沙箱机制带来的隔离性和安全性,都比Docker做的更好。 
           --runtime=io.containerd.wasmedge.v1

容器镜像标准(image spec)
    --platform=wasi/wasm32 指定我们想要使用的镜像的体系结构。通过利用Wasm体系结构,我们不需要为不同的体系结构构建单独的镜像
  镜像主要是由镜像层和容器配置两大部分组成的。
      文件系统:以 layer 保存的文件系统
	  b). config 文件
	  c). manifest 文件
	  d). index 文件:可选的文件,指向不同平台的 manifest 文件,这个文件能保证一个镜像可以跨平台使用

Reference

 File formats
 Command-line interfaces

标签:容器,--,containerd,镜像,磁盘,Docker,docker,日志
From: https://www.cnblogs.com/ytwang/p/17146852.html

相关文章

  • 磁盘有限,Docker 垃圾很多怎么办
    你的电脑上可能pull或者build了很多Docker镜像,但是你不知道怎么清理,本文将介绍如何清理Docker垃圾的常见方法。dockerprune你可以通过原生的多种prune命令来......
  • 启动docker时候怎么向内部程序传入参数
    启动docker时候怎么向内部程序传入参数 启动docker的命令是dockerrun******************他有好多的参数,具体看https://www.runoob.com/docker/docker-run-command......
  • Docker 快速学习手册及相关笔记 附带一些问题解决方案
    参考与前言Docker官方教程【英文】:https://docs.docker.com/get-started/WindowsDocker安装|菜鸟教程(runoob.com)Docker教程|菜鸟教程Docker并非是一个......
  • python 日志解析【案例2】
     要做的事:  1:获取日志内标红的数据(ipython模式正则捕获如下图)         2:转换相关选项的md5和反编码值  3:根据dm值和上个小时的年月日(......
  • GTD践行日志
    GTD践行日志前言以前工作时总会出现一些状况,诸如接了太多任务,做了太多承诺,结果换来的是累且干不好事情,绩效“稳定”下滑。痛定思痛,这其中一定有一些关键的东西被我忽略了......
  • Python 解析log日志【案例1】
    sudoaptinstallpython3.8#安装python3python3.8-mpipinstallpython-dateutil#安装dateutil包[2021-09-0311:03:11]**************************E......
  • docker 本地linux环境调试 .net 代码 —— debugging dockerized .NET core applicat
    原文:HowtoDebugDockerized.NETCoreAppsinVSCode(freecodecamp.org) vscoderundockercommand:dockerimagebuild--pull--file"C:\[path]/[projectN......
  • docker 部署oracle
    一、获取oracledocker-imagehttps://github.com/oracle/docker-imagesgitclonehttps://github.com/oracle/docker-images.git将oracle安装包放到对应的目录下面[ro......
  • Docker入门学习
    一、安装Docker(Linux)#1、yum包更新到最新yumupdate#2、安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的yuminstall......
  • docker run指定gpu运行
    要在dockerrun命令中指定GPU,您需要使用--gpus标志。例如,要在容器中使用所有可用的GPU,您可以运行以下命令:dockerrun--gpusallyour_image您还可以使用以下选......