docker基础

安装docker

参考安装:
https://docs.docker.com/engine/install/centos/#installation-methods

开机启动

systemctl enable docker.service
systemctl is-enabled docker.service

安装docker compose

https://github.com/docker/compose/releases/tag/v2.17.2
在这里插入图片描述
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
chmod +x docker-compose
docker-compose version

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

问题定位:/etc/docker/daemon.json文件配置有问题
修改:
vim /etc/docker/daemon.json
重启:
systemctl daemon-reload
systemctl restart docker.service

定位docker

/var/lib/docker/*
du -sh /var/lib/docker/* | sort -rm | head
查看该目录下前N个大文件
du -am ./* | sort -nrk 1 | head -n 20

du -h err/
ls -l
ll -h 查看当前文件夹大小

/etc/docker/daemon.json配置文件如下,这里将每个容器可以使用的磁盘空间设置为1G

{
“data-root”: “/data/docker”,
“storage-driver”: “overlay2”,
“storage-opts”: [
“overlay2.override_kernel_check=true”,
“overlay2.size=1G”
]
}

docker容器日志占用磁盘空间过大问题

查询占用磁盘较大的文件-升序

du -d1 -h /var/lib/docker/containers | sort -h
控制容器日志大小
法一:运行时控制
docker

max-size:容器日志最大100M

max-file:最大日志数3个( ex: *-json.log, *-json.log.1, *-json.log.2 )

docker run -it --log-opt max-size=100m --log-opt max-file=3 redis
日志目录/var/lib/docker/containers img.png

观察日志的增长,你会发现当xxx.log日志文件到达设置的最大日志量后,会变成xxx.log.1,xxx.log.2文件…

docker-compose
version: '3'services:test:image: xxx# 日志logging:driver: "json-file"   # 默认的文件日志驱动options:max-size: "100m"    # 单个日志文件大小为100mmax-file: "3"       # 最多3个日志文件

法二:全局配置
温馨小提示:新容器生效

创建或修改daemon.json文件

cat /etc/docker/daemon.json

新增如下配置

{"log-driver": "json-file","log-opts": {"max-size":"100m", "max-file":"3"}
}

重启docker

systemctl daemon-reload
systemctl restart docker

清理docker容器日志

#!/bin/bash
# sh docker_log.sh
# Bash会把所有未定义的变量视为错误
set -eu
logs=$(find /var/lib/docker/containers/ -name '*-json.log*')
for log in $logs
doecho "clean log: $log"cat /dev/null > $log
done

查询docker容器日志大小

#!/bin/bash# docker_log_size.sh
set -eu
logs=$(find /var/lib/docker/containers/ -name '*-json.log*')
for log in $logs
dols -lh $log
done

使用OverlayFS存储驱动程序

OverlayFS是一个现代的联合文件系统。本主题将Linux内核驱动程序称为OverlayFS,将Docker存储驱动程序称之为overlay2。
更改存储驱动程序会使本地系统上的现有容器和映像无法访问。在更改存储驱动程序之前,使用docker save保存您构建的任何映像,或将它们推送到docker Hub或专用注册表,这样您以后就不需要重新创建它们了
sudo systemctl stop docker
cp -au /var/lib/docker /var/lib/docker.bk
vim /etc/docker/daemon.json
如果daemon.json文件包含格式错误的json,则Docker不会启动。
{
“storage-driver”: “overlay2”
}
sudo systemctl start docker

验证守护进程是否正在使用overlay2存储驱动程序。使用docker-info命令并查找存储驱动程序和备份文件系统。
Docker现在使用overlay2存储驱动程序,并使用所需的lowerdir、upperdir、merged和workdir构造自动创建了overlay装载。
工作原理:
OverlayFS在单个Linux主机上对两个目录进行分层,并将它们显示为单个目录。这些目录称为层,统一过程称为联合装载。OverlayFS将下层目录称为lowerdir,将上层目录称为upperdir。统一视图通过其自己的名为merged的目录公开。
overlay2驱动程序本机支持多达128个较低的OverlayFS层。此功能为与层相关的Docker命令(如Docker build和Docker commit)提供了更好的性能,并且在备份文件系统上消耗更少的inode。
使用dockerpull-ubuntu下载五层映像后,您可以在/var/lib/doker/overlay2下看到六个目录。
ls -l /var/lib/docker/overlay2
警告:请勿直接操作/var/lib/docker/中的任何文件或目录。这些文件和目录由Docker管理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/88516.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Idea报错:Cannot resolve symbol “springframework“以及各种依赖包

问题描述: Idea导入了maven项目之后出现报错Cannot resolve symbol “springframework” ,识别不了这个标识或者找不到这个包,明明这些依赖和包都有就是出现报错,并且运行按钮变成灰色 解决办法: 其实这个原因大概率就…

【rust/egui】(二)看看template的main函数:日志输出以及eframe run_native

说在前面 rust新手,egui没啥找到啥教程,这里自己记录下学习过程环境:windows11 22H2rust版本:rustc 1.71.1egui版本:0.22.0eframe版本:0.22.0上一篇:这里 开始 首先让我们看看main.rs中有些什么…

【Linux系统编程】21.echo、env、fork、getpid、getppid

目录 echo PATH SHELL TERM LANG HOME env fork 返回值 getpid getppid 测试代码1 测试结果 测试代码2 测试结果 父子进程相同 父子进程不同 父子进程共享 echo 查看单个环境变量。 PATH 可执行文件的搜索路径。 SHELL 当前Shell。 TERM 当前终端类型。终端…

山西电力市场日前价格预测【2023-08-14】

日前价格预测 预测明日(2023-08-14)山西电力市场全天平均日前电价为322.03元/MWh。其中,最高日前电价为366.98元/MWh,预计出现在19: 30。最低日前电价为286.57元/MWh,预计出现在13: 15。 价差方向预测 1: 实…

【ARM Cache 系列文章 9 番外篇 -- ARMv9 系列 Core 介绍】

文章目录 ARMv9 系列CoreARM Cortex-A510 介绍ARM Cortex-A715ARM Cortex-A720 ARMv9 系列Core 2021年5月Arm公布了其最新3款CPU和3款GPU核心设计,三款新CPU分别是旗舰核心Cortex-X2、高性能核心Cortex-A710、高能效核心Cortex-A510 CPU,三款新GPU核心则…

《面试1v1》ElasticSearch 集群索引分片

🍅 作者简介:王哥,CSDN2022博客总榜Top100🏆、博客专家💪 🍅 技术交流:定期更新Java硬核干货,不定期送书活动 🍅 王哥多年工作总结:Java学习路线总结&#xf…

【学会动态规划】买卖股票的最佳时机 IV(18)

目录 动态规划怎么学? 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后: 动态规划怎么学? 学习一个算法没有捷径,更何况是学习动态规划, 跟我…

STM32F103C8T6开发笔记1:有线陀螺仪二自由度机械臂

经过之前几天的快速学习,今日尝试组装一款基于MPU6050陀螺仪控制的二自由度机械臂,本文对其使用器材以及基本原理进行介绍~ 组装效果图: 主要元器件如下: 器件个数15 KG以上 舵机3适合舵机的金属夹爪118650电池电源12V1云台支架2…

WebRTC音视频通话-实现GPUImage视频美颜滤镜效果iOS

WebRTC音视频通话-实现GPUImage视频美颜滤镜效果 在WebRTC音视频通话的GPUImage美颜效果图如下 可以看下 之前搭建ossrs服务,可以查看:https://blog.csdn.net/gloryFlow/article/details/132257196 之前实现iOS端调用ossrs音视频通话,可以查…

SCAU操作系统知识点之(一)计算机系统概述

缩写词: OS: Operating System 操作系统 PSW: Program Status Word 程序状态字 FCFS: First Come First Serve 先来先服务 PCB: Process Control Block 进程控制块 DMA: Direct Memory Access 直接存储器存取 MMU: Memory Management Unit 内存管理单元 SSTF: Short…

从零构建深度学习推理框架-6 构建计算图

PNNX PNNX项目 PyTorch Neural Network eXchange(PNNX)是PyTorch模型互操作性的开放标准。PNNX为PyTorch提供了一种开源的模型格式,它定义了与Pytorch相匹配的数据流图和运算图,我们的框架在PNNX之上封装了一层更加易用和简单的计…

本地跑Mapreduce程序的相关配置

本地跑MapReduce程序需要配置的代码 为了在本地运行MapReduce程序,需要加如下的东西 在项目中创建一个如图所示的包:org.apache.hadoop.io.nativeio,并在该包下面创建一个名为:NativeIO的类(注意:名字不能…

五、约束编程求解优化问题

文章目录 1、瑶草问题-离散优化问题2、重试优化3、分支限界法-改进重试优化法4、重启式搜索4.1 重启方针/策略4.2 自动化搜索策略 THE END 1、瑶草问题-离散优化问题 \qquad 要求在一个建木上构建一个完整的分枝树,每一个完整的分枝有100段,完整分枝上的…

uniapp 扩展组件 uni-forms 的表单验证之 validateFunction 只响应一次

uniapp 扩展组件 uni-forms 的表单验证之 validateFunction 只响应一次 问题代码官方说明参考资料 问题代码 直接从官方示例中复制过来改的。为了演示 <template><view><uni-forms ref"form" :modelValue"formData" :rules"rules&qu…

深度学习(36)—— 图神经网络GNN(1)

深度学习&#xff08;36&#xff09;—— 图神经网络GNN&#xff08;1&#xff09; 这个系列的所有代码我都会放在git上&#xff0c;欢迎造访 文章目录 深度学习&#xff08;36&#xff09;—— 图神经网络GNN&#xff08;1&#xff09;1. 基础知识2.使用场景3. 图卷积神经网…

UnityWebGL移动端兼容性说明

测试时间2023.8.10 官方文档说明 依据Unity官方最新版本文档&#xff08;2021.3LTS&#xff09;&#xff0c;关于WebGL的兼容性说明为"Unity WebGL不支持移动设备。它可能适用于高端设备&#xff0c;但当前的设备通常不够强大&#xff0c;并且没有足够的内存来支持Unity …

【c语言】字符函数与字符串函数(上)

大家好呀&#xff0c;今天给大家分享一下字符函数和字符串函数&#xff0c;说起字符函数和字符串函数大家会想到哪些呢&#xff1f;&#xff1f;我想到的只有求字符串长度的strlen,拷贝字符串的strcpy,字符串比较相同的strcmp,今天&#xff0c;我要分享给大家的是我们一些其他的…

SQL-每日一题【1517. 查找拥有有效邮箱的用户】

题目 表: Users 编写一个解决方案&#xff0c;以查找具有有效电子邮件的用户。 一个有效的电子邮件具有前缀名称和域&#xff0c;其中&#xff1a; 前缀 名称是一个字符串&#xff0c;可以包含字母&#xff08;大写或小写&#xff09;&#xff0c;数字&#xff0c;下划线 _ &…

详细讲解如何在github上编辑个人主页?

在 GitHub 上编辑个人主页可以让您展示您的项目、技能和个人信息&#xff0c;以及与其他开发者互动。以下是详细的步骤来在 GitHub 上编辑个人主页&#xff1a; 创建 GitHub 账户 如果您还没有 GitHub 账户&#xff0c;首先需要注册一个。 登录到 GitHub 使用您的用户名和密…

【TypeScript】进阶之路语法细节,类型和函数

进阶之路 类型别名(type)的使用接口(interface)的声明的使用二者区别&#xff1a; 联合类型和交叉类型联合类型交叉类型 类型断言获取DOM元素 非空类型断言字面量类型的使用类型缩小&#xff08;类型收窄&#xff09;TypeScript 函数类型函数类型表达式内部规则检测函数的调用签…