Docker 配置基础优化

Docker Containers

Author:rab


为什么要优化?

你有没有发现,Docker 作为线上环境使用时,Docker 日志驱动程序的日志、存储驱动数据都比较大(尤其是在你容器需要增删比较频繁的时候),动不动就好几百 G 的大小,因此我们需要合理的配置一下 Docker 的配置文件。接下来是一个 Overlay2 文件系统常用的配置基础优化,可根据你的实际情况来进行调整,但要注意的是不同的 Docker 版本可能配置文件选项有所细微区别,具体可查看官方文档。

cat /etc/docker/daemon.json
{"exec-opts": ["native.cgroupdriver=systemd"],"registry-mirrors": ["https://q1rw9tzz.mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"],"insecure-registries":["http://xxx.xxx.xxx"],"data-root": "/data/docker","storage-driver": "overlay2","storage-opts": ["overlay2.size=50GB","overlay2.override_kernel_check=true","overlay2.override_wait_for_deletion=true"],"log-driver": "json-file","log-opts": {"max-size": "50MB","max-file": "3"}
}

修改保存完成后,需要重启 Docker 服务使配置生效:

systemctl daemon-reload 
systemctl restart docker

字段解释:

  • exec-opts

    指定 Docker 使用 systemd 作为 cgroup 驱动程序。这是为了确保 Docker 在容器的资源控制方面与宿主系统的 systemd 一致。

  • registry-mirrors

    配置 Docker 镜像仓库镜像源,可以指定多个镜像源地址(避免单个可能会失效的问题),以加速从这些镜像源下载 Docker 镜像。

  • insecure-registries

    配置 Docker 的私有镜像仓库镜像源,该仓库一般是我们私有化部署或使用的云产品服务。

  • data-root

    指定 Docker 的数据目录,存储驱动、日志驱动等数据都会存储在该目录下。

  • storage-driver

    指定 Docker 的存储驱动为 overlay2,不指定默认也是 overlay2。

  • storage-opts

    设置 Docker 存储驱动的选项,overlay2.override_kernel_check=true 表示允许覆盖内核版本检查,以便在不同内核版本之间切换 overlay2 存储驱动。overlay2.override_wait_for_deletion=true c=表示覆盖等待删除操作,提高容器删除速度。overlay2.size=50GB 表示限制存储驱动的容量大小为 50GB,但是我不建议限制其大小,如果在生产环境中你限制的大小太小可能会导致容器中的应用程序无法正常工作或崩溃,如果存储驱动的大小限制不足以容纳容器中的数据,那么超出限制的数据可能会丢失,这可能会导致重要数据的损失,因此需要根据你的具体需求和应用场景来谨慎考虑。确保你了解应用程序的存储需求,并根据实际情况来设置存储驱动大小限制。同时,要定期监控存储空间的使用情况,以确保不会出现不可预测的问题。

  • log-driver

    指定 Docker 容器的日志驱动程序为 json-file,表示容器日志将以 JSON 格式写入文件。

  • log-opts

    设置 Docker 日志驱动的选项,max-size 表示限制单个容器日志文件的最大大小为 50MB。max-file表示最多保留 3 个容器日志文件,旧的日志文件会被轮换出去。

小结

其实这并算不上实际意义上的优化,我们只需要关注以下几个方面的配置,其他默认即可(默认参数配置已经完全可应对生产了)。

  • 存储驱动(storage-driver):默认情况下,Docker 使用 overlay2 存储驱动,这对大多数用例都是合适的。

  • 数据根目录(data-root):这是 Docker 用于存储容器镜像、容器数据和卷的根目录。如果你的系统有足够的存储空间,使用默认的数据根目录通常是合适的。但如果你想将 Docker 数据存储在不同的位置,可以根据需求修改此选项。

  • 日志驱动(log-driver):默认情况下,Docker 使用 json-file 日志驱动,将容器日志以 JSON 格式写入文件。这个设置通常适用于大多数用例,但你可以根据需求选择其他日志驱动程序,如 syslog 或 fluentd。

  • 日志选项(log-opts):根据日志需求,可以设置不同的选项。例如,你可以使用 "max-size""max-file" 选项来限制单个日志文件的大小和文件的数量。这有助于控制日志文件的大小和数量,以免耗尽磁盘空间。

  • 镜像仓库镜像源(registry-mirrors):如果你需要加速 Docker 镜像的下载速度,可以配置国内镜像仓库的镜像源(如阿里)。

  • 不安全的镜像仓库(insecure-registries):如果你需要连接到不安全的 Docker 镜像仓库(其实就是我们自建的私有 Docker 镜像仓库),可以在这里添加这些仓库的地址。

—END

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

节日灯饰灯串灯出口欧洲CE认证办理

灯串(灯带),这个产品的形状就象一根带子一样,再加上产品的主要原件就是LED,因此叫做灯串或者灯带。2022年,我国灯具及相关配件产品出口总额超过460亿美元。其中北美是最大的出口市场。其次是欧洲市场&#…

【STM32 LVGL基础教程】初识LVGL

文章目录 前言一、什么是LVGL?二、LVGL的诞生历程三、LVGL的用途四、模拟器使用LVGL4.1 下载codeblocks并运行模拟器lvgl4.2 更改lvgl设置更改帧数更改颜色深度 五、STM32使用LVGL总结 前言 嵌入式系统中的图形用户界面(GUI)已经成为现代设备…

基于goravel的CMS,企业官网通用golang后台管理系统

2023年9月11日10:47:00 仓库地址: https://gitee.com/open-php/zx-goravel-website 框架介绍 Goravel SCUI 后端开发组件 go 1.20 Goravel 1.13 数据库 sql(使用最新日期文件) goravel\doc\sql_bak mysql 8.0 前端开发组件 scui 1.6.9 node v14.21.3 效果图…

基于自私羊群优化的BP神经网络(分类应用) - 附代码

基于自私羊群优化的BP神经网络(分类应用) - 附代码 文章目录 基于自私羊群优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.自私羊群优化BP神经网络3.1 BP神经网络参数设置3.2 自私羊群算法应用 4.测试结果…

uni-app实现图片预览

uni.previewImage预览图片 使用方法&#xff1a; <image class"poster" :src"imageUrl" mode"" click"previewImg(imageUrl)"></image>const previewImg (e) > {uni.previewImage({current: e,urls: image}); } 官…

vulnhub靶机doubletrouble

下载地址&#xff1a;doubletrouble: 1 ~ VulnHub 主机发现 arp-scan -l 端口扫描 nmap --min-rate 1000 -p- 192.168.21.151 端口服务扫描 nmap -sV -sT -O -p22,80 192.168.21.151 漏洞扫描 nmap --scriptvuln -p22,80 192.168.21.151 先去看看web页面 这里使用的是qdpm …

提升您的 Go 应用性能的 6 种方法

优化您的 Go 应用程序 1. 如果您的应用程序在 Kubernetes 中运行&#xff0c;请自动设置 GOMAXPROCS 以匹配 Linux 容器的 CPU 配额 Go 调度器 可以具有与运行设备的核心数量一样多的线程。由于我们的应用程序在 Kubernetes 环境中的节点上运行&#xff0c;当我们的 Go 应用程…

探秘布隆过滤器:高效数据查找与去重利器

探秘布隆过滤器&#xff1a;高效数据查找与去重利器 引言 在现代计算机科学中&#xff0c;数据的查找与去重是一个至关重要的问题。本文将介绍一种高效的数据结构——布隆过滤器&#xff0c;它能够在海量数据中快速判断某个元素是否存在&#xff0c;同时具有出色的空间效率。…

【数据恢复篇】浅谈FTK Imager数据恢复功能

【数据恢复篇】浅谈FTK Imager数据恢复功能 日常取证工作中&#xff0c;常用FTK Imager制作磁盘镜像、挂载镜像等&#xff0c;但FTK Imager的数据恢复功能也是非常强大的&#xff0c;某些数据的恢复效果不输专业的数据恢复软件&#xff0c;甚至略胜一筹—【蘇小沐】 文章目录 …

突破封锁|华为芯片10年进化史:从K3V1到麒麟9000S

华为海思麒麟芯片过去10年研发历程回顾如下&#xff1a; 2009年&#xff1a;华为推出第一款手机芯片K3V1&#xff0c;采用65nm工艺制程&#xff0c;基于ARM11架构&#xff0c;主频600MHz&#xff0c;支持WCDMA/GSM双模网络。这款芯片搭载在华为U8800手机上&#xff0c;标志着华…

【BBC新闻文章分类】使用 TF 2.0和 LSTM 的文本分类

一、说明 NLP上的许多创新是如何将上下文添加到词向量中。常见的方法之一是使用递归神经网络

[C国演义] 第十三章

第十三章 三数之和四数之和 三数之和 力扣链接 根据题目要求: 返回的数对应的下标各不相同三个数之和等于0不可包含重复的三元组 – – 即顺序是不做要求的 如: [-1 0 1] 和 [0, 1, -1] 是同一个三元组输出答案顺序不做要求 暴力解法: 排序 3个for循环 去重 — — N^3, …

C语言-字符串与输入输出

一、字符串 1、字符串简介 在 C 语言中&#xff0c;字符串实际上是使用空字符 \0 结尾的一维字符数组。因此&#xff0c;\0 是用于标记字符串的结束。 空字符&#xff08;Null character&#xff09;又称结束符&#xff0c;缩写 NUL&#xff0c;是一个数值为 0 的控制字符&…

第一课数组、链表、栈、队列

第一课数组、链表、栈、队列 acwing136 邻值查找---中等题目描述代码展示 lc20.有效的括号--简单题目描述代码展示 lc25.K 个一组翻转链表--困难题目描述代码展示 lc26.删除有序数组中的重复项--简单题目描述代码展示 lc88.合并两个有序数组--简单题目描述代码展示 lc141.环形链…

Java常见API---split()

package daysreplace;public class SplitTest {public static void main(String[] args) {String str"武汉市|孝感市|长沙市|北京市|上海市";String[] array str.split("\\|");System.out.println(array[0]);System.out.println(array[1]);System.out.pri…

Python数据容器——集合的相关操作

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 本文专栏&#xff1a;Python专栏 专栏介绍&#xff1a;本专栏为免费专栏&#xff0c;并且会持续更新python基础知识&#xff0c;欢迎各位订阅关注。 目录 一、理解集合 1. 集合是什么&#xff1f; 2. 为什么…

好奇喵 | Tor浏览器——访问.onion网址,揭开Dark Web的神秘面纱

前言 在之前的博客中&#xff1a; 1.Surface Web —&#xff1e; Deep Web —&#xff1e; Dark Web&#xff0c;我们解释了表层网络、深层网络等的相关概念&#xff1b; 2.Tor浏览器——层层剥开洋葱&#xff0c;我们阐述了Tor的历史和基本工作原理&#xff1b; 3.Tor浏览器…

【亲测有效】C盘容量满了,给C盘扩容!!!

前言 相信有很多小伙伴用自己电脑的时候明明不往C盘装东西&#xff0c;但是C盘还是慢慢的变红了&#xff0c;我也是因为C盘满了而备受困扰。又不知道如何解决或者怕自己鼓捣着磁盘数据没了。闲来无事&#xff0c;我查了一些资料&#xff0c;终于将我的C盘容量扩充了且数据保存…

基于Java的在线教育平台设计与实现(源码+lw+ppt+部署文档+视频讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

分享几个优秀开源免费管理后台模版,建议收藏!

大家好&#xff0c;我是 jonssonyan 今天和大家分享一些免费开源的后台管理页面&#xff0c;帮助大家快速搭建前端页面。为什么要用模板&#xff1f;道理很简单&#xff0c;原因是方便我们快速开发。我们不应该花太多的时间在页面调整上&#xff0c;而应该把精力放在核心逻辑和…