
toelke158/docker-rsyncdocker-rsync是一个基于Alpine Linux构建的轻量级Docker镜像,提供了rsync工具的完整功能。rsync是一款功能强大的文件同步工具,能够高效地在本地或远程系统之间同步文件和目录。该镜像设计简洁,配置灵活,既可以作为rsync服务器运行,也可以作为客户端使用,适用于各种文件备份和同步场景。
bash# 从远程服务器同步文件到本地 docker run --rm -v /local/directory:/data toelke/rsync rsync user@remotehost:/remote/path /data # 从本地同步文件到远程服务器 docker run --rm -v /local/directory:/data toelke/rsync rsync /data user@remotehost:/remote/path
bash# 基本服务器模式 docker run -d -p 873:873 -v /data:/data toelke/rsync
可以通过以下环境变量配置rsync服务器:
RSYNC_UID: rsync运行用户ID (默认: 1000)RSYNC_GID: rsync运行用户组ID (默认: 1000)RSYNC_PORT: rsync监听端口 (默认: 873)RSYNC_MAX_CONNECTIONS: 最大连接数 (默认: 5)RSYNC_TIMEOUT: 连接超时时间(秒) (默认: 300)RSYNC_MOTD_FILE: 消息文件路径 (默认: /etc/rsyncd.motd)可以通过环境变量定义rsync模块,格式为RSYNC_MODULE_<NAME>_<OPTION>:
RSYNC_MODULE_data_PATH: 模块路径 (例如: /data)RSYNC_MODULE_data_COMMENT: 模块描述RSYNC_MODULE_data_READ_ONLY: 是否只读 (true/false)RSYNC_MODULE_data_LIST: 是否可列目录 (true/false)RSYNC_MODULE_data_AUTH_USERS: 授权用户RSYNC_MODULE_data_SECRET_FILE: 密码文件路径bashdocker run -d -p 873:873 \ -v /host/data:/data \ -v /host/rsyncd.secrets:/etc/rsyncd.secrets \ -e RSYNC_MODULE_data_PATH=/data \ -e RSYNC_MODULE_data_COMMENT="My data module" \ -e RSYNC_MODULE_data_READ_ONLY=false \ -e RSYNC_MODULE_data_AUTH_USERS=backupuser \ -e RSYNC_MODULE_data_SECRET_FILE=/etc/rsyncd.secrets \ toelke/rsync
yamlversion: '3' services: rsync: image: toelke/rsync ports: - "873:873" volumes: - ./data:/data - ./rsyncd.secrets:/etc/rsyncd.secrets environment: - RSYNC_MODULE_data_PATH=/data - RSYNC_MODULE_data_COMMENT="My data module" - RSYNC_MODULE_data_READ_ONLY=false - RSYNC_MODULE_data_AUTH_USERS=backupuser - RSYNC_MODULE_data_SECRET_FILE=/etc/rsyncd.secrets restart: always
bashdocker run -d -p 873:873 \ -v /host/data:/data \ -v /host/rsyncd.conf:/etc/rsyncd.conf \ toelke/rsync
bash# 基本同步 docker run --rm -v /local/data:/data toelke/rsync rsync rsync://server/data/ /data # 带认证的同步 docker run --rm -v /local/data:/data toelke/rsync rsync backupuser@server::data /data
bashdocker run --rm -v /local/data:/data -v ~/.ssh:/root/.ssh toelke/rsync rsync -avz -e ssh user@remotehost:/remote/path /data
bash# 拉取最新镜像 docker pull toelke/rsync # 查看rsync版本 docker run --rm toelke/rsync rsync --version
docker logs <container-id>rsync --verbose或rsync --debug获取详细输出进行问题诊断manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务