id: 366934c80e554ac5af15532de8dd53e2
parent_id: 
item_type: 1
item_id: 98fd99895edb4503bbe235e2f9ef5215
item_updated_time: 1764345613897
title_diff: "[{\"diffs\":[[1,\"docker-compose.yml文件模板和解析\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":25}]"
body_diff: "[{\"diffs\":[[1,\"<html>\\\r\\\n<head>\\\r\\\n  <title>docker-compose.yml文件模板和解析</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=\\\"35357\\\"></a>\\\r\\\n<h1>docker-compose.yml文件模板和解析</h1>\\\r\\\n\\\r\\\n<div><span style=\\\"\\\"><div style=\\\"max-width: 700px;\\\"><p></p><div style=\\\"--en-blockquote: true; box-sizing: border-box; border-left: 3px solid #b4c0cc; background-position: initial initial; background-repeat: initial initial;\\\"><div>原文链接: <a href=\\\"http://mp.weixin.qq.com/s?__biz=MjM5MTc5NzAyOA==&amp;mid=2450710334&amp;idx=1&amp;sn=6b5f9a917c621f4a1b2054c735f48164&amp;chksm=b0b7ffb37b5b728a552dd8bed66e3d279a0700408054f6c4304789cd79cb735d91e7111f54a4&amp;mpshare=1&amp;scene=1&amp;srcid=1230ZIVrvTuEYMbzvKWsyuUR&amp;sharer_shareinfo=0e6f34f3832ee4bb0e8e17006768f1dd&amp;sharer_shareinfo_first=0e6f34f3832ee4bb0e8e17006768f1dd#rd\\\"><span>http://mp.weixin.qq.com/s?__biz=MjM5MTc5NzAyOA==&amp;mid=2450710...</span></a></div></div><p></p><div style=\\\"-webkit-tap-highlight-color: transparent;\\\"><div style=\\\"-webkit-tap-highlight-color: transparent;\\\"><div style=\\\"-webkit-tap-highlight-color: transparent;\\\"><div style=\\\"-webkit-tap-highlight-color: transparent;\\\"><span style=\\\"-webkit-tap-highlight-color: transparent;\\\">原创</span><span style=\\\"-webkit-tap-highlight-color: transparent;\\\"> 松哥 </span><span style=\\\"-webkit-tap-highlight-color: transparent;\\\"><a style=\\\"-webkit-tap-highlight-color: transparent;\\\"> 松鼠码字 </a></span><span style=\\\"-webkit-tap-highlight-color: transparent;\\\"><em style=\\\"-webkit-tap-highlight-color: transparent;\\\"></em></span></div><div style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\">以下是 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">docker-compose</code> 文件的常用字段分类和用途解析，附带简单的范例说明。</p><hr style=\\\"-webkit-tap-highlight-color: transparent; border-style: solid; border-width: 1px 0 0; border-color: rgba(0,0,0,0.1); -webkit-transform-origin: 0 0; -webkit-transform: scale(1,0.5); transform-origin: 0 0; transform: scale(1,0.5);\\\"/><h3 style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">1. 基础配置</strong></h3><ul style=\\\"-webkit-tap-highlight-color: transparent;\\\"><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">version</code></strong>指定 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">docker-compose</code> 文件的版本，例如 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">3.9</code> 是常见的版本。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：用于定义文件规范的版本。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">services</code></strong>定义多个服务，每个服务表示一个容器。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：包括服务名称、镜像信息和容器配置。</p></li></ul><hr style=\\\"-webkit-tap-highlight-color: transparent; border-style: solid; border-width: 1px 0 0; border-color: rgba(0,0,0,0.1); -webkit-transform-origin: 0 0; -webkit-transform: scale(1,0.5); transform-origin: 0 0; transform: scale(1,0.5);\\\"/><h3 style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">2. 服务相关字段</strong></h3><ul style=\\\"-webkit-tap-highlight-color: transparent;\\\"><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">image</code></strong>指定容器运行所需的镜像。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：如 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">nginx:1.21.6</code> 表示使用 Nginx 指定版本。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">build</code></strong>用于构建镜像，可以指定构建上下文和 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">Dockerfile</code> 文件路径。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：适合需要自定义镜像的场景。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">container_name</code></strong>定义容器名称，便于管理和调试。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：如 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">my_nginx</code>。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">ports</code></strong>映射主机和容器之间的端口。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：将主机 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">8080</code> 映射到容器的 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">80</code>。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">volumes</code></strong>挂载数据卷，用于数据持久化或主机与容器间文件共享。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：挂载主机目录到容器目录。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">environment</code></strong>定义环境变量，支持数组或键值对格式。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：设置 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">NODE_ENV=production</code>。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">env_file</code></strong>从外部文件加载环境变量。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：如使用 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">.env</code> 文件。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">depends_on</code></strong>设置服务启动顺序。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：如 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">web</code> 服务依赖 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">db</code> 和 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">redis</code>。</p></li></ul><hr style=\\\"-webkit-tap-highlight-color: transparent; border-style: solid; border-width: 1px 0 0; border-color: rgba(0,0,0,0.1); -webkit-transform-origin: 0 0; -webkit-transform: scale(1,0.5); transform-origin: 0 0; transform: scale(1,0.5);\\\"/><h3 style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">3. 网络与资源管理</strong></h3><ul style=\\\"-webkit-tap-highlight-color: transparent;\\\"><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">networks</code></strong>定义网络，用于服务间通信。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：可设置 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">bridge</code> 网络驱动。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">restart</code></strong>定义容器的重启策略。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：如 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">always</code> 表示容器总是自动重启。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">resources</code></strong>设置容器的 CPU 和内存资源限制。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：限制 CPU 使用为 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">0.5</code> 个核心。</p></li></ul><hr style=\\\"-webkit-tap-highlight-color: transparent; border-style: solid; border-width: 1px 0 0; border-color: rgba(0,0,0,0.1); -webkit-transform-origin: 0 0; -webkit-transform: scale(1,0.5); transform-origin: 0 0; transform: scale(1,0.5);\\\"/><h3 style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">4. 运行与初始化配置</strong></h3><ul style=\\\"-webkit-tap-highlight-color: transparent;\\\"><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">command</code></strong>替代容器的默认启动命令。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：如运行 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">npm start</code>。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">entrypoint</code></strong>覆盖镜像的入口点。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：如使用自定义脚本 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">/usr/bin/entrypoint.sh</code>。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">working_dir</code></strong>设置容器的工作目录。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：如 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">/app</code>。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">tty</code></strong>启用伪终端模式。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：适合需要交互式调试的场景。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">stdin_open</code></strong>启用容器的交互模式。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：如 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">true</code>。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">healthcheck</code></strong>定义容器健康检查。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：通过 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">curl</code> 检查 HTTP 服务状态。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">init</code></strong>使用 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">init</code> 系统处理僵尸进程。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：如设置为 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">true</code>。</p></li></ul><hr style=\\\"-webkit-tap-highlight-color: transparent; border-style: solid; border-width: 1px 0 0; border-color: rgba(0,0,0,0.1); -webkit-transform-origin: 0 0; -webkit-transform: scale(1,0.5); transform-origin: 0 0; transform: scale(1,0.5);\\\"/><h3 style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">5. 高级功能</strong></h3><ul style=\\\"-webkit-tap-highlight-color: transparent;\\\"><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">scale</code></strong>定义服务实例的数量。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：设置服务副本数为 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">3</code>。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">secrets</code></strong>使用 Docker Secrets 管理敏感数据。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：如加载文件中的数据库密码。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">deploy</code></strong>部署配置，适用于 Docker Swarm。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：定义服务副本数和更新策略。</p></li></ul><hr style=\\\"-webkit-tap-highlight-color: transparent; border-style: solid; border-width: 1px 0 0; border-color: rgba(0,0,0,0.1); -webkit-transform-origin: 0 0; -webkit-transform: scale(1,0.5); transform-origin: 0 0; transform: scale(1,0.5);\\\"/><h3 style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">6. 全局配置</strong></h3><ul style=\\\"-webkit-tap-highlight-color: transparent;\\\"><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">volumes</code></strong>定义全局数据卷，供多个服务使用。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：如 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">db_data</code>。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">networks</code></strong>定义全局网络，支持自定义网络驱动。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：如 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">app_network</code> 使用 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">bridge</code>。</p></li><li style=\\\"-webkit-tap-highlight-color: transparent;\\\"><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><strong style=\\\"-webkit-tap-highlight-color: transparent;\\\"><code style=\\\"-webkit-tap-highlight-color: transparent;\\\">configs</code></strong>管理配置文件，类似于 <code style=\\\"-webkit-tap-highlight-color: transparent;\\\">secrets</code>。<strong style=\\\"-webkit-tap-highlight-color: transparent;\\\">范例</strong>：挂载应用程序配置到容器。</p><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><br style=\\\"-webkit-tap-highlight-color: transparent;\\\"/></p></li></ul><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\">模板：</p><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><img src=\\\":/651e245d4b9348bdba9e0442154d4906\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" style=\\\"--en-marks: %7B%22align%22%3A%22center%22%7D; -webkit-tap-highlight-color: transparent; width: auto;\\\" width=\\\"auto\\\"/></p><p style=\\\"-webkit-tap-highlight-color: transparent; text-align: left;\\\"><br style=\\\"-webkit-tap-highlight-color: transparent;\\\"/></p></div></div></div></div></div></span>\\\n</div></body></html>\\u0000\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":17030}]"
metadata_diff: {"new":{"id":"98fd99895edb4503bbe235e2f9ef5215","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":1764348826623,"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:02.647Z
created_time: 2025-11-28T21:04:02.647Z
type_: 13