恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
docker-timemachine快速上手教程:5步让你的Mac Time Machine跑通网络备份
首页
资讯中心
/
docker-timemachine快速上手教程:5步让你的Mac Time Machine跑通网络备份
docker-timemachine快速上手教程:5步让你的Mac Time Machine跑通网络备份
发布时间:2026/8/23 17:20:45
docker-timemachine快速上手教程5步让你的Mac Time Machine跑通网络备份【免费下载链接】docker-timemachineA docker container that compiles the lastest Netatalk to run a Time Machine server.项目地址: https://gitcode.com/gh_mirrors/doc/docker-timemachinedocker-timemachine是一个专为 Mac 打造的 Docker 镜像它自动编译最新版Netatalk帮你快速搭建一台 Time Machine 网络备份服务器。只需 5 个步骤你就能在局域网内为 Mac 配置 AFP 备份盘告别本地硬盘空间不足的烦恼。整个过程不需要手动编译任何依赖新手也能轻松完成。为什么选择 docker-timemachine 做 Time Machine 网络备份Time Machine 默认只支持本地磁盘或 AirPort Time Capsule而网络磁盘需要一个支持 AFP 协议的服务器。docker-timemachine 恰好解决了这个问题开箱即用基于 Alpine Linux 镜像内置编译好的 Netatalk 3.1.12无需自己折腾依赖轻量高效镜像体积极小适合跑在树莓派、NAS 或任意 Linux 小主机上支持加密备份AFP over TLS636 端口备份数据安全传输⚙️可配置配额可为每个用户设置备份卷大小上限ARM 兼容提供timemachine-rpi镜像树莓派用户可直接使用镜像构建逻辑可以在 Dockerfile 中查看容器启动流程见 entrypoint.sh。准备工作开始前你需要什么准备项说明一台安装 Docker 的 Linux 主机如 NAS、树莓派、旧电脑一个存储目录用于存放备份数据如/external_volume局域网内的 Mac需要运行 macOS 并开启 Time Machine开放端口服务器的 548AFP和 636AFP over TLS第 1 步一键启动 Time Machine 备份服务器执行以下命令拉取镜像并启动容器把/external_volume换成你实际的存储路径docker run -h timemachine --name timemachine --restartunless-stopped -d \ -v /external_volume:/timemachine \ -it -p 548:548 -p 636:636 \ --ulimit nofile65536:65536 odarriba/timemachine几个关键参数说明-v /external_volume:/timemachine本地目录映射进容器备份文件实际存放在这里-p 548:548 -p 636:636开放 AFP 明文与加密端口--restartunless-stopped主机重启后容器自动拉起保证备份服务持续可用 ARM/树莓派用户请将镜像名换成odarriba/timemachine-rpi。容器内部通过 supervisord.conf 托管 Netatalk 进程配置文件见 afp.conf。第 2 步添加备份用户Time Machine 需要一个登录账号。进入容器创建一个用户docker exec timemachine add-account USERNAME PASSWORD VOL_NAME VOL_ROOT [VOL_SIZE_MB]参数含义USERNAME / PASSWORDMac 登录时使用的账号密码VOL_NAME在 Mac 上显示的网络卷名称例如BackupVOL_ROOT备份数据存储路径建议为/timemachine的子路径如/timemachine/backupVOL_SIZE_MB可选限制该用户备份卷的最大容量如果想指定 UID/GID可加上-i 1000 -g 1000参数避免与宿主机用户冲突。第 3 步可选配置防火墙开放 AFP 端口确保服务器防火墙放行 548 和 636 端口ufw allow 548 ufw allow 636同时检查 Mac 端是否有安全软件如 Little Snitch拦截了出站连接。第 4 步可选启用 Avahi 自动发现服务如果不配置这一步Mac 需要通过 IP 手动连接体验稍差。Avahi 可以让 Mac 在「共享」列表中自动发现备份服务器。由于 Docker 网络限制Avahi 无法在容器内广播服务因此需要安装在宿主机上以 Ubuntu 为例安装sudo apt-get install avahi-daemon avahi-utils用项目提供的 avahi/nsswitch.conf 覆盖/etc/nsswitch.conf将服务描述文件 avahi/afpd.service 复制到/etc/avahi/services/afpd.service重启服务sudo /etc/init.d/avahi-daemon restart第 5 步在 Mac 上连接并完成 Time Machine 配置这是最后一步全程图形化操作打开Finder如果配置了 Avahi在左侧「共享」中直接点击你的服务器否则按CMD K输入afp://你的服务器IP如afp://192.168.0.5用第 2 步创建的账号密码登录打开系统设置 → Time Machine点击添加或移除备份磁盘…选中刚挂载的卷如Backup等待首次备份完成 从下图可以看到完整流程Finder 连接服务器central→ 输入账号Backup登录 → 在 Time Machine 设置中选中该卷作为备份磁盘。进阶技巧用环境变量免命令配置容器如果使用 docker-compose 部署可以直接通过环境变量创建用户容器启动时自动完成配置环境变量作用AFP_LOGIN用户名AFP_PASSWORD用户密码AFP_NAME卷名称AFP_SIZE_LIMIT卷大小上限MB可选PUID/PGID用户的 UID / GID注意通过环境变量创建的用户数据直接存储在/timemachine根目录下且每个容器只能配置一个用户。可用id 用户名查看对应的 PUID 和 PGID 值。常见问题排查Q防火墙和 Docker 都配置好了但 Time Machine 里找不到磁盘请先手动挂载一次 AFP 卷Finder → CMDK再回来配置 Time Machine。macOS 需要先认识这个网络磁盘之后才会自动挂载。Q容器重启后无法登录默认的用户账号是临时的容器重启后会丢失需要重新执行第 2 步创建账号。解决办法是自定义启动脚本参考 entrypoint.sh 的写法在脚本中重复执行add-account命令随容器挂载进去即可实现开机自动重建所有账号。Q为什么 Avahi 必须装在宿主机而不是容器里因为容器网络无法向外广播组播发现消息装在宿主机上才能让你的 Mac 发现服务。总结docker-timemachine 用 5 个步骤就能让 Mac 的 Time Machine 跑通网络备份启动容器 → 创建用户 → 开放端口 → 可选Avahi 发现 → Mac 端挂载配置。它轻量、可靠、支持加密和配额特别适合部署在 NAS 或树莓派上成为家庭或办公网络中的专属备份中心。备份从现在开始 【免费下载链接】docker-timemachineA docker container that compiles the lastest Netatalk to run a Time Machine server.项目地址: https://gitcode.com/gh_mirrors/doc/docker-timemachine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考