docker XML详解
下列为一个基本的运行docker镜像文件
{"Id": "62a82b0e69930e54c291095f632adde58dd0b247adba3a048385a55c87e38eba","Created": "2024-07-11T04:00:09.36091853Z","Path": "java","Args": ["-jar","maku-generator-server.jar","--spring.datasource.url=jdbc:mysql://host.docker.internal:3306/maku_generator?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true"],"State": {"Status": "exited","Running": false,"Paused": false,"Restarting": false,"OOMKilled": false,"Dead": false,"Pid": 0,"ExitCode": 143,"Error": "","StartedAt": "2024-08-14T09:01:17.352355112Z","FinishedAt": "2024-08-14T09:01:22.086400171Z"},"Image": "sha256:b35f89cd19d3e6e51375db52afae00e6667e57bf011c732f792022eb8a132916","ResolvConfPath": "/var/lib/docker/containers/62a82b0e69930e54c291095f632adde58dd0b247adba3a048385a55c87e38eba/resolv.conf","HostnamePath": "/var/lib/docker/containers/62a82b0e69930e54c291095f632adde58dd0b247adba3a048385a55c87e38eba/hostname","HostsPath": "/var/lib/docker/containers/62a82b0e69930e54c291095f632adde58dd0b247adba3a048385a55c87e38eba/hosts","LogPath": "/var/lib/docker/containers/62a82b0e69930e54c291095f632adde58dd0b247adba3a048385a55c87e38eba/62a82b0e69930e54c291095f632adde58dd0b247adba3a048385a55c87e38eba-json.log","Name": "/gen","RestartCount": 0,"Driver": "overlay2","Platform": "linux","MountLabel": "","ProcessLabel": "","AppArmorProfile": "","ExecIDs": null,"HostConfig": {"Binds": null,"ContainerIDFile": "","LogConfig": {"Type": "json-file","Config": {}},"NetworkMode": "default","PortBindings": {"8088/tcp": [{"HostIp": "","HostPort": "8088"}]},"RestartPolicy": {"Name": "no","MaximumRetryCount": 0},"AutoRemove": false,"VolumeDriver": "","VolumesFrom": null,"ConsoleSize": [22,163],"CapAdd": null,"CapDrop": null,"CgroupnsMode": "host","Dns": [],"DnsOptions": [],"DnsSearch": [],"ExtraHosts": null,"GroupAdd": null,"IpcMode": "private","Cgroup": "","Links": null,"OomScoreAdj": 0,"PidMode": "","Privileged": false,"PublishAllPorts": false,"ReadonlyRootfs": false,"SecurityOpt": null,"UTSMode": "","UsernsMode": "","ShmSize": 67108864,"Runtime": "runc","Isolation": "","CpuShares": 0,"Memory": 0,"NanoCpus": 0,"CgroupParent": "","BlkioWeight": 0,"BlkioWeightDevice": [],"BlkioDeviceReadBps": [],"BlkioDeviceWriteBps": [],"BlkioDeviceReadIOps": [],"BlkioDeviceWriteIOps": [],"CpuPeriod": 0,"CpuQuota": 0,"CpuRealtimePeriod": 0,"CpuRealtimeRuntime": 0,"CpusetCpus": "","CpusetMems": "","Devices": [],"DeviceCgroupRules": null,"DeviceRequests": null,"MemoryReservation": 0,"MemorySwap": 0,"MemorySwappiness": null,"OomKillDisable": false,"PidsLimit": null,"Ulimits": [],"CpuCount": 0,"CpuPercent": 0,"IOMaximumIOps": 0,"IOMaximumBandwidth": 0,"MaskedPaths": ["/proc/asound","/proc/acpi","/proc/kcore","/proc/keys","/proc/latency_stats","/proc/timer_list","/proc/timer_stats","/proc/sched_debug","/proc/scsi","/sys/firmware","/sys/devices/virtual/powercap"],"ReadonlyPaths": ["/proc/bus","/proc/fs","/proc/irq","/proc/sys","/proc/sysrq-trigger"]},"GraphDriver": {"Data": {"LowerDir": "/var/lib/docker/overlay2/3cdebcd1d9491c9a14c77a0db52f910629a31384e39ccc6d4853866d9eaaa79d-init/diff:/var/lib/docker/overlay2/56luuqfrswuz7x6td1fygfivh/diff:/var/lib/docker/overlay2/ce6lmn5j7bhtuwb3cqavde4at/diff:/var/lib/docker/overlay2/e9dc72b1d03bf23788aaf4cc3bf9d4609bb071d000e87d26dd48539d1400bff3/diff:/var/lib/docker/overlay2/7d739afcb052a148b6f17bd4caf00a0e32483897dd56b6b29e78b3917a533849/diff:/var/lib/docker/overlay2/f9f2b28bc59332b5675ee85cc92651460750662217b09e5cd68dfe4e1fa24c78/diff","MergedDir": "/var/lib/docker/overlay2/3cdebcd1d9491c9a14c77a0db52f910629a31384e39ccc6d4853866d9eaaa79d/merged","UpperDir": "/var/lib/docker/overlay2/3cdebcd1d9491c9a14c77a0db52f910629a31384e39ccc6d4853866d9eaaa79d/diff","WorkDir": "/var/lib/docker/overlay2/3cdebcd1d9491c9a14c77a0db52f910629a31384e39ccc6d4853866d9eaaa79d/work"},"Name": "overlay2"},"Mounts": [],"Config": {"Hostname": "62a82b0e6993","Domainname": "","User": "","AttachStdin": false,"AttachStdout": true,"AttachStderr": true,"ExposedPorts": {"8088/tcp": {}},"Tty": false,"OpenStdin": false,"StdinOnce": false,"Env": ["PATH=/usr/java/openjdk-17/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","JAVA_HOME=/usr/java/openjdk-17","LANG=C.UTF-8","JAVA_VERSION=17.0.1"],"Cmd": ["java","-jar","maku-generator-server.jar","--spring.datasource.url=jdbc:mysql://host.docker.internal:3306/maku_generator?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true"],"Image": "gen","Volumes": null,"WorkingDir": "/app","Entrypoint": null,"OnBuild": null,"Labels": {}},"NetworkSettings": {"Bridge": "","SandboxID": "cc7661fa276fccf9cdd4d4a119b477a0ac80feeb646ac67f09de6611933cf716","SandboxKey": "/var/run/docker/netns/cc7661fa276f","Ports": {},"HairpinMode": false,"LinkLocalIPv6Address": "","LinkLocalIPv6PrefixLen": 0,"SecondaryIPAddresses": null,"SecondaryIPv6Addresses": null,"EndpointID": "","Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"IPAddress": "","IPPrefixLen": 0,"IPv6Gateway": "","MacAddress": "","Networks": {"bridge": {"IPAMConfig": null,"Links": null,"Aliases": null,"MacAddress": "","NetworkID": "0acdefbf9bb407acdab598b39ac2a428dc0531eae4d9170c332b241d8e3b0969","EndpointID": "","Gateway": "","IPAddress": "","IPPrefixLen": 0,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"DriverOpts": null,"DNSNames": null}}}
}
这段JSON数据描述了一个Docker容器的详细信息。下面是对关键部分的解读:
基本信息
- Id: 容器的唯一标识符,这里是62a82b0e69930e54c291095f632adde58dd0b247adba3a048385a55c87e38eba。
- Created: 容器创建时间,2024-07-11T04:00:09.36091853Z(UTC时间)。
- Path: 容器启动时执行的命令路径,这里是java。
- Args: 启动命令的参数,包括-jar maku-generator-server.jar和数据库连接字符串。
- Name: 容器的名称,这里是/gen。
状态信息
- State:
- Status: 容器的当前状态,这里是exited,表示容器已经停止运行。
- Running: 容器是否正在运行,这里是false。
- ExitCode: 容器退出时的状态码,这里是143,通常表示容器被信号(如SIGTERM)终止。
- StartedAt 和 FinishedAt: 容器开始和结束运行的时间。
镜像信息
- Image: 容器使用的镜像ID,这里是sha256:b35f89cd19d3e6e51375db52afae00e6667e57bf011c732f792022eb8a132916。
- Config:
- Cmd: 容器启动时执行的命令和参数,与Args相同。
- Env: 环境变量设置,包括PATH、JAVA_HOME等。
- WorkingDir: 容器内的工作目录,这里是/app。
网络配置
- NetworkSettings:
- Networks: 容器连接的网络信息,这里只有一个名为bridge的网络,但没有具体的IP地址信息。
存储配置
- GraphDriver:
- Data: 描述了存储驱动(这里是overlay2)的详细信息,包括LowerDir、MergedDir、UpperDir和WorkDir,这些是overlay2存储驱动管理文件系统层的方式。
其他配置
- HostConfig:
- PortBindings: 端口绑定信息,这里将容器的8088端口映射到宿主机的8088端口。
- RestartPolicy: 重启策略,这里是no,表示容器不会在退出后自动重启。
- AutoRemove: 是否在容器停止后自动删除,这里是false。
日志和路径信息
- LogPath: 容器日志文件的路径,这里是/var/lib/docker/containers/62a82b0e69930e54c291095f632adde58dd0b247adba3a048385a55c87e38eba/62a82b0e69930e54c291095f632adde58dd0b247adba3a048385a55c87e38eba-json.log。
- ResolvConfPath、HostnamePath、HostsPath: 分别指向容器的DNS配置、主机名配置和主机文件路径。
资源和安全限制
- Driver、Platform、MountLabel、ProcessLabel、AppArmorProfile等字段提供了关于容器运行时环境和安全策略的信息。
注意事项
- Mounts: 空的数组,表示没有额外的挂载点。
- ExecIDs: 空的字段,表示没有执行过额外的命令。
相关文章:
docker XML详解
下列为一个基本的运行docker镜像文件 {"Id": "62a82b0e69930e54c291095f632adde58dd0b247adba3a048385a55c87e38eba","Created": "2024-07-11T04:00:09.36091853Z","Path": "java","Args": ["-ja…...

web前端边框详解,弹性盒子的使用(仿写购物网页)
边框详解 1. 边框宽度(border - width) - 具体取值:可以是具体的长度值,如 px (像素)、 pt (点)、 em (相对单位)等。例如, border - width: 2px…...

【ACM出版,EI稳定检索,九大高校联合举办, IEEE Fellow支持】2024年计算机视觉与艺术研讨会(CVA 2024)
在线投稿:学术会议-学术交流征稿-学术会议在线-艾思科蓝 2024年计算机视觉与艺术国际学术会议(CVA 2024)作为2024年人工智能、数字媒体技术与交互设计国际学术会议(ICADI 2024)的分会。此次大会旨在汇聚全球在计算机视觉与艺术…...

认识软件测试
博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:MySQL数据库 JavaEE专栏:JavaEE 软件测试专栏:软件测试 关注博主带你了解更多知识 1. 什么是测试? 测试在⽣活中处处可⻅ 例子: 对某款购物软件进⾏测试 启动测试:点击软件图标&#…...

poi处理excel文档时,与lombok的@Accessors(chain = true)注解冲突
poi在反射封装数据时会判断set方法的返回是不是Void,加上Accessors会造成NoSuchMethodException异常...
我接触csdn中的c++的时间
大家好,我是AC使者,不知不觉我也来到CSDN半年了!在这半年我也看到了自身的不足,我也还有了很多粉丝,所以我今天来总结一下这半年的东西。 第一篇--------结构体数组 关于结构体数组的理解-CSDN博客 第二篇--------字…...
go语言多态性(接口interface)的使用
前言 在Go语言中,接口类型(interface)完全可以作为一个函数的参数。这是Go语言多态性的一个重要体现,允许函数接受任何实现了接口中定义的方法的类型的实例。 一、接口(interface)定义 type Reader inte…...

如何将markdown文件转换为pdf
最近笔者在用vscode写markdown,但是提交时往往需要交pdf。所以就涉及到如何将markdown转化为pdf格式。 首先,需要在vscode上安装插件 markdown Preview Enhanced 之后在vscode的右上角即可看到下述图标,点击,vscode右半面就会显示…...

【python实操】python小程序之测试报告
引言 python小程序之测试报告 文章目录 引言一、测试报告1.1 概念1.1.1 使用Pytest和Allure生成测试报告1.1.2 使用unittest和HTMLTestRunner生成测试报告1.1.3 总结 1.2 题目1.3 代码1.3 代码解释 二、思考 一、测试报告 1.1 概念 python生成测试报告,常用的方法包…...

【Java基础】2、Java基础语法
f2/fnf2:选中点中的文件名 1.注释 为什么要有注释? 给别人和以后的自己可以看懂的解释 注释含义 注释是在程序指定位置的说明性信息;简单理解,就是对代码的一种解释 注释分类 单行注释 //注释信息 多行注释…...
MATLAB基础应用精讲-【数模应用】本量利分析(Cost-Volume-Profit Analysis)
目录 前言 几个高频面试题目 本量利分析与量本利分析的区别 算法原理 发展历程 几个相关概念 什么是CVP分析 基本假设 注意事项 本量利分析的作用 基本原理 多种产品量本利分析 盈亏平衡分析 目标利润分析 敏感性分析 边际分析 本量利分析基本模型 应用场景 …...

实习冲刺Day7
算法题 合并两个有序链表 class Solution { public:void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {for (int i 0; i<n; i) {nums1[m i] nums2[i];//直接将num2的数据插入到num1的尾部}sort(nums1.begin(), nums1.end());//排…...

《Python游戏编程入门》注-第4章1
《Python游戏编程入门》的第4章是“用户输入:Bomb Cathcer游戏”,通过轮询键盘和鼠标设备状态实现Bomb Cathcer游戏。 1 Bomb Cathcer游戏介绍 “4.1 认识Bomb Cathcer游戏”内容介绍了Bomb Cathcer游戏的玩法,即通过鼠标来控制红色“挡板”…...

一些硬件知识【2024/10/29】
千兆以太网有8条信号线,百兆以太网有4条线: 网络变压器构造图: 百兆以太网拓扑: BOB Smith电路: 【以太网接口电 路设计】https://www.bilibili.com/video/BV1i3411u7bv?vd_source3cc3c07b09206097d0d8b0aefdf07958&a…...

利用弱监督学习在全切片病理图像中检测和分型基底细胞癌|文献速递-基于生成模型的数据增强与疾病监测应用
Title 题目 Detection and subtyping of basal cell carcinoma in whole-slide histopathology using weakly-supervised learning 利用弱监督学习在全切片病理图像中检测和分型基底细胞癌 01 文献速递介绍 基底细胞癌 (BCC) 的发病率正在给病理诊断带来压力。BCC 的发病率…...
leetcode刷题笔记——15.三数之和
一、问题描述 给定一个整数数组 nums,判断是否存在三元组 [nums[i], nums[j], nums[k]],使得: i ! j、i ! k 且 j ! k nums[i] nums[j] nums[k] 0 需要返回所有和为 0 的三元组,且这些三元组不能重复。 输入输出 输入: 整…...

NLTK无法下载?
以下内容仅为当前认识,可能有不足之处,欢迎讨论! 文章目录 nltk无法下载怎么办?什么是NLTK?为什么要用NLTK?如何下载? nltk无法下载怎么办? 什么是NLTK? NLTK是学习自然…...
采用非递归快排实现找出数组中的前k个高频元素(python)
前k个高频元素 题目描述解题思路代码实现 题目描述 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2] 解题思路 (1)先对给定的列表进行…...

Java题集练习4
Java题集练习4 1 异常有什么用? 用来找到代码中产生的错误 防止运行出错2 异常在java中以什么形式存在? 异常在java中以类的形式存在,分为运行时异常和编译期异常,他们都在类Exception中3 异常是否可以自定义?如何自…...

sql进阶篇
1.更新记录 AC: update examination_info set tag replace(tag, "PYTHON", "Python") where tag "PYTHON";2.删除记录 AC: DELETE FROM exam_record WHERE timestampdiff(minute, start_time, submit_time) < 5AND…...

Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...