id: 7840690426bd47ceb2f3e2afcb3b5e23
parent_id: 
item_type: 1
item_id: 5bd11fe4d04a4b14a145f2e0e846640d
item_updated_time: 1764345637686
title_diff: "[{\"diffs\":[[1,\"一键将 Docker 命令转化为 Compose 的神器\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":28}]"
body_diff: "[{\"diffs\":[[1,\"<html>\\\r\\\n<head>\\\r\\\n  <title>一键将 Docker 命令转化为 Compose 的神器</title>\\\r\\\n  <basefont face=\\\"微软雅黑\\\" size=\\\"2\\\" />\\\r\\\n  <meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html;charset=utf-8\\\" />\\\r\\\n  <meta name=\\\"exporter-version\\\" content=\\\"YXBJ Windows/608924 (zh-CN, DDL); Windows/10.0.0 (Win64); EDAMVersion=V2;\\\"/>\\\r\\\n  <meta name=\\\"content-class\\\" content=\\\"yinxiang.peso.superNote\\\"/>\\\r\\\n  <meta name=\\\"application-data:yinxiang.noteLayout\\\" content=\\\"{\\\"lineSpace\\\":\\\"recommend\\\",\\\"paragraphSpace\\\":\\\"recommend\\\"}\\\"/>\\\r\\\n  <style>\\\r\\\n\\tbody, td {\\\r\\\n\\t  font-family: 微软雅黑;\\\r\\\n\\t  font-size: 12pt;\\\r\\\n\\t}\\\r\\\n  </style>\\\r\\\n</head>\\\r\\\n<body>\\\r\\\n<a name=\\\"44591\\\"></a>\\\r\\\n<h1>一键将 Docker 命令转化为 Compose 的神器</h1>\\\r\\\n\\\r\\\n<div><span style=\\\"margin:0px;\\\"><div style=\\\"padding:8px 0px;margin:8px auto;max-width:700px;\\\"> <div><span></span></div>\\\n<p></p>\\\n<div style=\\\"--en-blockquote:true;box-sizing: border-box; padding-left: 19px; padding-top: 6px; padding-bottom: 6px; border-left: 3px solid #b4c0cc; background-position: initial initial; background-repeat: initial initial; margin-top: 6px\\\"><div>原文链接: <a href=\\\"https://mp.weixin.qq.com/s?__biz=MzU2MTI4MjI0MQ==&amp;mid=2247539487&amp;idx=1&amp;sn=ca4f6d0d037a21af24c3481fec9bf9dc&amp;chksm=fdd5c618e26b25227abb827da847f8d30b09b27b71264110305b6a2241e505ac715ac83bb2d4&amp;mpshare=1&amp;scene=1&amp;srcid=0614UV3Gyk4pyvetN3KvbhiM&amp;sharer_shareinfo=f8754b08f6bff58ce6672237cec1430a&amp;sharer_shareinfo_first=f8754b08f6bff58ce6672237cec1430a#rd\\\"><span>https://mp.weixin.qq.com/s?__biz=MzU2MTI4MjI0MQ==&amp;mid=224753...</span></a></div></div>\\\n<p></p>\\\n<div><span></span></div>\\\n<div style=\\\"\\\"><div><div><h1 style=\\\"margin:0\\\"> 一键将 Docker 命令转化为 Compose 的神器</h1><div><span style=\\\"position:relative\\\">原创</span><span> 丛林 </span><span><a style=\\\"position:relative\\\"> 极客之家 </a></span><span><em></em></span></div><div style=\\\";\\\"><div><span><img src=\\\":/e773173044f84061be8682be461d54f7\\\" type=\\\"image/gif\\\" data-filename=\\\"640.gif\\\" alt=\\\"图片\\\" style=\\\"--en-marks:%7B%22align%22%3A%22center%22%7D;\\\"/></span></div><div style=\\\"margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 10px;padding-right: 10px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;font-family: Optima, 'Microsoft YaHei', PingFangSC-regular, serif;font-size: 16px;color: rgb(0, 0, 0);line-height: 1.75;word-spacing: 0em;letter-spacing: 0em;word-break: break-word;overflow-wrap: break-word;text-align: left;\\\"><p style=\\\"margin:0;color:rgb(0,0,0);font-size:16px;line-height:1.8em;letter-spacing:0;text-align:left;text-indent:0;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;padding-top:8px;padding-bottom:8px;padding-left:0;padding-right:0\\\"><span>在Docker的日常使用中，我们常常遇到这样的场景：通过反复调试</span><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>docker run</span></code><span>命令启动了一个包含复杂参数的容器（比如挂载了多个卷、设置了环境变量、配置了网络端口），最终需要将其转化为可复用的</span><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>docker-compose.yml</span></code><span>文件。</span></p><p style=\\\"margin:0;color:rgb(0,0,0);font-size:16px;line-height:1.8em;letter-spacing:0;text-align:left;text-indent:0;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;padding-top:8px;padding-bottom:8px;padding-left:0;padding-right:0\\\"><span>手动转换不仅耗时，还容易遗漏参数。今天介绍的</span><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>coracoo/docker2compose</span></code><span>开源项目，正是为解决这一痛点而生——它能将复杂的</span><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>docker run</span></code><span>命令智能转换为完整的</span><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>Docker Compose</span></code><span>配置！</span></p><div style=\\\"margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: flex;flex-direction: column;justify-content: center;align-items: center;\\\"><span><img src=\\\":/257f1cc95f0a4e4191519e8d7cebfbb0\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" style=\\\"--en-marks:%7B%22align%22%3A%22center%22%7D;display: block;margin-top: 0.1em;margin-right: auto;margin-bottom: 0px;margin-left: auto;max-width: 100%;width: 100%;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;\\\"/></span></div><h3 style=\\\"margin:0;margin-top:2em;margin-bottom:1em;margin-left:auto;margin-right:auto;padding-top:4px;padding-bottom:4px;padding-left:8px;padding-right:8px;display:table;text-align:center;line-height:1.2;font-size:17.6px;border-bottom-width:4px;border-bottom-style:solid;border-bottom-color:rgb(15,76,129);border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;color:rgb(10,10,10);font-weight:bold\\\"><span style=\\\"font-size: 20px;color: rgb(10, 10, 10);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;\\\"><span>简介</span></span></h3><p style=\\\"margin:0;color:rgb(0,0,0);font-size:16px;line-height:1.8em;letter-spacing:0;text-align:left;text-indent:0;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;padding-top:8px;padding-bottom:8px;padding-left:0;padding-right:0\\\"><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>docker2compose</span></code><span>是一个开源的 </span><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>Docker Compose</span></code><span> 文件生成工具。它的核心功能是读取 NAS 或服务器中已运行的 Docker 容器信息，自动分析容器间的网络关系，并根据规则生成对应的</span><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>docker-compose.yaml</span></code><span>文件。</span></p><p style=\\\"margin:0;color:rgb(0,0,0);font-size:16px;line-height:1.8em;letter-spacing:0;text-align:left;text-indent:0;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;padding-top:8px;padding-bottom:8px;padding-left:0;padding-right:0\\\"><span>这款工具的设计初衷是解决极空间私有云用户的容器迁移痛点，但实际上兼容主流 NAS 系统和 Linux 服务器，甚至支持 ARM 架构设备（如树莓派）。</span></p><h3 style=\\\"margin:0;margin-top:2em;margin-bottom:1em;margin-left:auto;margin-right:auto;padding-top:4px;padding-bottom:4px;padding-left:8px;padding-right:8px;display:table;text-align:center;line-height:1.2;font-size:17.6px;border-bottom-width:4px;border-bottom-style:solid;border-bottom-color:rgb(15,76,129);border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;color:rgb(10,10,10);font-weight:bold\\\"><span style=\\\"font-size: 20px;color: rgb(10, 10, 10);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;\\\"><span>功能特点</span></span></h3><ul style=\\\"margin:0;list-style-type:square;margin-top:8px;margin-bottom:8px;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;padding-left:25px;padding-right:0;color:rgb(0,0,0)\\\"><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>读取系统中所有Docker容器信息</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>分析容器之间的网络关系（自定义network和link连接）</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>根据网络关系将相关容器分组</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>为每组容器生成对应的</span><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>docker-compose.yaml</span></code><span>文件（根据首个容器名称）</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>支持提取容器的各种配置，包括：</span></div></li><ul style=\\\"margin:0;list-style-type:square;margin-top:8px;margin-bottom:8px;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;padding-left:25px;padding-right:0;color:rgb(0,0,0)\\\"><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>容器名称</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>镜像</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>端口映射</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>环境变量</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>数据卷(</span><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>volume/bind</span></code><span>)</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>网络(</span><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>host/bridge/macvlan</span></code><span>单独配置，其它网络根据名称在一起)</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>重启策略</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>特权模式</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>硬件设备挂载</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>cap_add</span></code><span> 能力</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>command</span></code><span>和</span><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>entrypoint</span></code><span>(在ZOS系统中不生成)</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>健康检测</span></div></li><li><div style=\\\"margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;\\\"><span>其他配置等等</span></div></li></ul></ul><h3 style=\\\"margin:0;margin-top:2em;margin-bottom:1em;margin-left:auto;margin-right:auto;padding-top:4px;padding-bottom:4px;padding-left:8px;padding-right:8px;display:table;text-align:center;line-height:1.2;font-size:17.6px;border-bottom-width:4px;border-bottom-style:solid;border-bottom-color:rgb(15,76,129);border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;color:rgb(10,10,10);font-weight:bold\\\"><span style=\\\"font-size: 20px;color: rgb(10, 10, 10);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;\\\"><span>实战</span></span></h3><h5 style=\\\"margin:0;margin-top:30px;margin-bottom:15px;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;display:block\\\"><span style=\\\"font-size: 16px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;\\\"><span>场景</span></span></h5><blockquote style=\\\"text-align: left;line-height: 1.75;font-size: 16px;font-style: normal;color: rgba(0, 0, 0, 0.5);margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;\\\"><p style=\\\"margin:0;text-indent:0;padding-top:8px;padding-bottom:8px;padding-left:0;padding-right:0;display:block;color:rgb(0,0,0);font-size:16px;line-height:1.8em;letter-spacing:0;text-align:left;font-weight:normal;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0\\\"><span>从一条命令到生产级Compose配置</span></p></blockquote><p style=\\\"margin:0;color:rgb(0,0,0);font-size:16px;line-height:1.8em;letter-spacing:0;text-align:left;text-indent:0;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;padding-top:8px;padding-bottom:8px;padding-left:0;padding-right:0\\\"><span>假设我们调试出一个启动PostgreSQL容器的命令：</span></p><pre style=\\\"border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;\\\"><span style=\\\"display: block;background: none;height: 30px;width: 100%;background-size: 40px;background-repeat: no-repeat;background-color: #282c34;margin-bottom: -7px;border-radius: 5px;background-position: 10px 10px;background-image: url(&quot;https://mmbiz.qpic.cn/mmbiz_svg/bofA1vl6EUbDc3cuRicYMx1SmNkQ7ydRkZFadjnIg6dHVAdyA0QghqUNC59wNEm5VxWAoYcQmZ38tVAx3ZQCqVAsDxTKF26eD/640?wx_fmt=svg&amp;from=appmsg&quot;);\\\"></span><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span>docker run -d \\\\</span><span><br/></span><span>  --name db \\\\</span><span><br/></span><span>  -v pgdata:/var/lib/postgresql/data \\\\</span><span><br/></span><span>  -e POSTGRES_PASSWORD=secret \\\\</span><span><br/></span><span>  -p 5432:5432 \\\\</span><span><br/></span><span>  --network myapp \\\\</span><span><br/></span><span>  postgres:15</span><span><br/></span></div></pre><p style=\\\"margin:0;color:rgb(0,0,0);font-size:16px;line-height:1.8em;letter-spacing:0;text-align:left;text-indent:0;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;padding-top:8px;padding-bottom:8px;padding-left:0;padding-right:0\\\"><span>使用</span><code style=\\\"color: rgb(63, 92, 212);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span>docker2compose</span></code><span>转换</span></p><pre style=\\\"border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;\\\"><span style=\\\"display: block;background: none;height: 30px;width: 100%;background-size: 40px;background-repeat: no-repeat;background-color: #282c34;margin-bottom: -7px;border-radius: 5px;background-position: 10px 10px;background-image: url(&quot;https://mmbiz.qpic.cn/mmbiz_svg/bofA1vl6EUbDc3cuRicYMx1SmNkQ7ydRkZFadjnIg6dHVAdyA0QghqUNC59wNEm5VxWAoYcQmZ38tVAx3ZQCqVAsDxTKF26eD/640?wx_fmt=svg&amp;from=appmsg&quot;);\\\"></span><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span>docker2compose </span><span style=\\\"color: #98c379;line-height: 26px;\\\"><span>&quot;docker run ...&quot;</span></span><span> &gt; docker-compose.yml</span><span><br/></span></div></pre><p style=\\\"margin:0;color:rgb(0,0,0);font-size:16px;line-height:1.8em;letter-spacing:0;text-align:left;text-indent:0;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;padding-top:8px;padding-bottom:8px;padding-left:0;padding-right:0\\\"><span>输出结果</span></p><pre style=\\\"border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;\\\"><span style=\\\"display: block;background: none;height: 30px;width: 100%;background-size: 40px;background-repeat: no-repeat;background-color: #282c34;margin-bottom: -7px;border-radius: 5px;background-position: 10px 10px;background-image: url(&quot;https://mmbiz.qpic.cn/mmbiz_svg/bofA1vl6EUbDc3cuRicYMx1SmNkQ7ydRkZFadjnIg6dHVAdyA0QghqUNC59wNEm5VxWAoYcQmZ38tVAx3ZQCqVAsDxTKF26eD/640?wx_fmt=svg&amp;from=appmsg&quot;);\\\"></span><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>version:</span></span><span> </span><span style=\\\"color: #98c379;line-height: 26px;\\\"><span>'3.8'</span></span><span><br/></span><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>services:</span></span><span><br/></span><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>db:</span></span><span><br/></span><span>    </span><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>image:</span></span><span style=\\\"color: #98c379;line-height: 26px;\\\"><span>postgres:15</span></span><span><br/></span><span>    </span><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>container_name:</span></span><span style=\\\"color: #98c379;line-height: 26px;\\\"><span>db</span></span><span><br/></span><span>    </span><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>environment:</span></span><span><br/></span><span>      </span><span style=\\\"color: #61aeee;line-height: 26px;\\\"><span>-</span></span><span style=\\\"color: #98c379;line-height: 26px;\\\"><span>POSTGRES_PASSWORD=secret</span></span><span><br/></span><span>    </span><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>volumes:</span></span><span><br/></span><span>      </span><span style=\\\"color: #61aeee;line-height: 26px;\\\"><span>-</span></span><span style=\\\"color: #98c379;line-height: 26px;\\\"><span>pgdata:/var/lib/postgresql/data</span></span><span><br/></span><span>    </span><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>networks:</span></span><span><br/></span><span>      </span><span style=\\\"color: #61aeee;line-height: 26px;\\\"><span>-</span></span><span style=\\\"color: #98c379;line-height: 26px;\\\"><span>myapp</span></span><span><br/></span><span>    </span><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>ports:</span></span><span><br/></span><span>      </span><span style=\\\"color: #61aeee;line-height: 26px;\\\"><span>-</span></span><span style=\\\"color: #98c379;line-height: 26px;\\\"><span>&quot;5432:5432&quot;</span></span><span><br/></span><span><br/></span><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>volumes:</span></span><span><br/></span><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>pgdata:</span></span><span><br/></span><span><br/></span><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>networks:</span></span><span><br/></span><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>myapp:</span></span><span><br/></span><span>    </span><span style=\\\"color: #d19a66;line-height: 26px;\\\"><span>driver:</span></span><span style=\\\"color: #98c379;line-height: 26px;\\\"><span>bridge</span></span><span><br/></span></div></pre><h3 style=\\\"margin:0;margin-top:2em;margin-bottom:1em;margin-left:auto;margin-right:auto;padding-top:4px;padding-bottom:4px;padding-left:8px;padding-right:8px;display:table;text-align:center;line-height:1.2;font-size:17.6px;border-bottom-width:4px;border-bottom-style:solid;border-bottom-color:rgb(15,76,129);border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;color:rgb(10,10,10);font-weight:bold\\\"><span style=\\\"font-size: 20px;color: rgb(10, 10, 10);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;\\\"><span>写在最后</span></span></h3><p style=\\\"margin:0;color:rgb(0,0,0);font-size:16px;line-height:1.8em;letter-spacing:0;text-align:left;text-indent:0;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;padding-top:8px;padding-bottom:8px;padding-left:0;padding-right:0\\\"><span>Docker Compose已成为本地开发和测试环境的事实编排标准，其声明式配置带来的可重复性和可维护性是脚本难以比拟的。docker2compose通过弥合命令式调试（docker run）与声明式配置（YAML）之间的鸿沟，显著降低了Compose的采用门槛。</span></p><p style=\\\"margin:0;color:rgb(0,0,0);font-size:16px;line-height:1.8em;letter-spacing:0;text-align:left;text-indent:0;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;padding-top:8px;padding-bottom:8px;padding-left:0;padding-right:0\\\"><span>无论是刚接触容器的新手，还是管理复杂微服务架构的资深工程师，这个不足10MB的小工具都可能成为你效率提升的“秘密武器”。</span></p><h5 style=\\\"margin:0;margin-top:30px;margin-bottom:15px;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;display:block\\\"><span style=\\\"font-size: 16px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;\\\"><span>开源地址</span></span></h5><blockquote style=\\\"text-align: left;line-height: 1.75;font-size: 16px;font-style: normal;color: rgba(0, 0, 0, 0.5);margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;\\\"><p style=\\\"margin:0;text-indent:0;padding-top:8px;padding-bottom:8px;padding-left:0;padding-right:0;display:block;color:rgb(0,0,0);font-size:16px;line-height:1.8em;letter-spacing:0;text-align:left;font-weight:normal;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0\\\"><span>https://github.com/coracoo/docker2compose</span></p></blockquote></div><div style=\\\"-webkit-tap-highlight-color: transparent;margin: 16px 0px 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgba(0, 0, 0, 0.9);font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);text-align: center;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;word-spacing: 0.8px;color: rgb(255, 0, 0);font-size: 20px;font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, Arial, sans-serif;letter-spacing: 0.544px;text-align: center;widows: 1;caret-color: rgb(60, 60, 60);display: inline !important;\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">后端专属技术群</span></strong></div><div style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px 10px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0em;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(255, 255, 255);width: auto;font-family: Optima, &quot;Microsoft YaHei&quot;, PingFangSC-regular, serif;font-size: 16px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;word-break: break-word;text-align: left;\\\"><p style=\\\"-webkit-tap-highlight-color:transparent;margin:0;padding:8px 0;outline:0;max-width:100%;box-sizing:border-box !important;overflow-wrap:break-word !important;clear:both;min-height:1em;color:rgb(58,58,58);line-height:1.8em;letter-spacing:0;text-indent:0\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">构建高质量的技术交流社群，欢迎从事编程开发、技术招聘HR进群，也欢迎大家分享自己公司的内推信息，相互帮助，一起进步！</span></p><blockquote style=\\\"-webkit-tap-highlight-color: transparent;margin: 20px 0px;padding: 10px 10px 10px 20px;outline: 0px;border-width: 3px;border-style: none none none solid;border-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4) rgb(255, 177, 27);color: var(--weui-FG-1);font-size: 15px;text-indent: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(255, 245, 227);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;\\\"><p style=\\\"-webkit-tap-highlight-color:transparent;margin:0;padding:8px 0;outline:0;max-width:100%;box-sizing:border-box !important;overflow-wrap:break-word !important;clear:both;min-height:1em;text-indent:0;color:rgb(58,58,58);font-size:16px;line-height:1.8em;letter-spacing:0\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">文明发言，以</span><strong style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px 2px;padding: 2px 4px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: &quot;Operator Mono&quot;, Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">交流技术</span></code><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">、</span><code style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px 2px;padding: 2px 4px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: &quot;Operator Mono&quot;, Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">职位内推</span></code><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">、</span><code style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px 2px;padding: 2px 4px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: &quot;Operator Mono&quot;, Consolas, Monaco, Menlo, monospace;word-break: break-all;\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">行业探讨</span></code></strong><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">为主</span></p></blockquote><p style=\\\"-webkit-tap-highlight-color:transparent;margin:0;padding:8px 0;outline:0;max-width:100%;box-sizing:border-box !important;overflow-wrap:break-word !important;clear:both;min-height:1em;color:rgb(58,58,58);line-height:1.8em;letter-spacing:0;text-indent:0;text-align:center\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">广告人士勿入，切勿轻信私聊，防止被骗</span></strong></p><div style=\\\"-webkit-tap-highlight-color: transparent;margin: 10px 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;display: flex;flex-direction: column;justify-content: center;align-items: center;\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\"><img src=\\\":/284617c99ae24edc9a95618fedcc4b34\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" alt=\\\"图片\\\" style=\\\"--en-marks:%7B%22align%22%3A%22center%22%7D;-webkit-tap-highlight-color: transparent;margin: 0px auto;padding:0;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;display: block;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;width: 154px !important;__visibility: visible !important;\\\"/></span><div style=\\\"-webkit-tap-highlight-color: transparent;margin: 5px 0px 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(221, 165, 45);font-size: 14px;line-height: 1.5em;letter-spacing: 0em;text-align: center;\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 16px;text-align: left;color: rgb(136, 136, 136);\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">加我好友，拉你进群</span></span></div></div><p style=\\\"-webkit-tap-highlight-color:transparent;margin:0;padding:8px 0;outline:0;max-width:100%;box-sizing:border-box !important;overflow-wrap:break-word !important;clear:both;min-height:1em;color:rgb(58,58,58);line-height:1.8em;letter-spacing:0;text-indent:0;text-align:right\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">点下方的</span><strong style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">“❤</span></strong><strong style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">”</span></strong><span style=\\\"-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;\\\">支持我们，非常感谢！</span></p></div></div></div><div><div><div><div style=\\\"display:flex;\\\"><a>阅读原文</a></div></div></div></div></div></div></div></span>\\\n</div></body></html>\\u0000\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":52377}]"
metadata_diff: {"new":{"id":"5bd11fe4d04a4b14a145f2e0e846640d","parent_id":"f67288c3a0be4374b5d532b5dcc3aabc","latitude":"0.00000000","longitude":"0.00000000","altitude":"0.0000","author":"","source_url":"","is_todo":0,"todo_due":0,"todo_completed":0,"source":"joplin-desktop","source_application":"net.cozic.joplin-desktop","application_data":"","order":1764348830831,"markup_language":2,"is_shared":0,"share_id":"","conflict_original_id":"","master_key_id":"","user_data":"","deleted_time":0},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2025-11-28T21:04:05.245Z
created_time: 2025-11-28T21:04:05.245Z
type_: 13