<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Docker Volume on 远栈</title><link>https://stackonward.com/zh/tags/docker-volume/</link><description>Recent content in Docker Volume on 远栈</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Thu, 03 Sep 2026 18:30:00 +0800</lastBuildDate><atom:link href="https://stackonward.com/zh/tags/docker-volume/index.xml" rel="self" type="application/rss+xml"/><item><title>Docker 数据卷、文件权限与密钥怎么配置</title><link>https://stackonward.com/zh/posts/docker-volume-permissions-secrets/</link><pubDate>Thu, 03 Sep 2026 00:00:00 +0800</pubDate><guid>https://stackonward.com/zh/posts/docker-volume-permissions-secrets/</guid><description>&lt;p&gt;数据库和应用状态写入 volume，只读配置使用 bind mount，密钥通过文件挂载给指定服务。配置完成后还要核对进程 UID/GID，并分别执行容器重建和独立恢复。&lt;/p&gt;
&lt;figure&gt;
 &lt;img src="https://stackonward.com/images/posts/docker-volume-permissions-secrets/zh/storage-boundaries.svg" alt="容器把数据库状态写入 named volume，只读读取宿主配置，并从 secrets 文件读取密码的结构图" loading="lazy" decoding="async"&gt;
 &lt;figcaption&gt;数据库写入 named volume，配置只读挂载，密钥仅挂载到需要它的服务。&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2 id="根据数据用途选择-named-volumebind-mount-或-tmpfs"&gt;根据数据用途选择 named volume、bind mount 或 tmpfs&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;类型&lt;/th&gt;
					&lt;th&gt;适合内容&lt;/th&gt;
					&lt;th&gt;优点&lt;/th&gt;
					&lt;th&gt;主要风险&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;named volume&lt;/td&gt;
					&lt;td&gt;数据库、队列、应用持久状态&lt;/td&gt;
					&lt;td&gt;生命周期由 Docker 管理，路径不与单台主机布局强耦合&lt;/td&gt;
					&lt;td&gt;宿主备份和迁移要明确卷名与驱动&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bind mount&lt;/td&gt;
					&lt;td&gt;Caddyfile、明确的数据目录、宿主脚本&lt;/td&gt;
					&lt;td&gt;路径可见，便于现有备份与权限工具管理&lt;/td&gt;
					&lt;td&gt;强依赖宿主路径、属主和 SELinux/AppArmor 条件&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;tmpfs&lt;/td&gt;
					&lt;td&gt;临时敏感文件、无需持久化的高速临时数据&lt;/td&gt;
					&lt;td&gt;不写入持久磁盘&lt;/td&gt;
					&lt;td&gt;重启即丢失，容量占用内存&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a href="https://docs.docker.com/engine/storage/" target="_blank" rel="noopener"&gt;Docker storage 文档&lt;span class="sr-only"&gt;（在新标签页打开）&lt;/span&gt;&lt;/a&gt;建议优先用 volume 保存容器生成的持久数据；bind mount 更适合需要直接共享和管理的宿主文件。镜像层不适合承载运行数据，容器删除时可写层也会消失。&lt;/p&gt;</description></item><item><title>Docker Compose 生产部署指南：镜像、健康检查、密钥与持久化</title><link>https://stackonward.com/zh/posts/docker-compose-production/</link><pubDate>Wed, 02 Sep 2026 10:00:00 +0800</pubDate><guid>https://stackonward.com/zh/posts/docker-compose-production/</guid><description>&lt;p&gt;&lt;code&gt;docker compose up -d&lt;/code&gt; 只能说明容器已经启动。生产部署还要固定镜像、保存数据、隔离端口、限制资源，并验证容器和主机重启后的恢复结果。&lt;/p&gt;
&lt;figure&gt;
 &lt;img src="https://stackonward.com/images/posts/docker-compose-production/zh/compose-topology.svg" alt="单机 Docker Compose 生产部署中反向代理、应用容器、持久化卷、密钥和日志的拓扑图" loading="lazy" decoding="async"&gt;
 &lt;figcaption&gt;公网只开放反向代理的 80/443；应用端口留在回环地址或容器网络中。&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2 id="compose-适合什么样的生产服务"&gt;Compose 适合什么样的生产服务&lt;/h2&gt;
&lt;p&gt;单台主机、服务数量不多、依赖关系清楚时，Compose 足以承担部署：&lt;/p&gt;</description></item></channel></rss>