<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>文件权限 on 远栈</title><link>https://stackonward.com/zh/tags/%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90/</link><description>Recent content in 文件权限 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/%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90/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></channel></rss>