
ianayoung/rsync基于Alpine Linux构建的轻量级Docker镜像,专注于提供rsync及相关工具集。该镜像在Alpine基础上扩展了必要工具,并将默认shell从原生的sh替换为bash,以兼容依赖bash语法的环境配置(如GitLab CI中的密钥注入流程)。
sh,支持bash特定语法(如数组、进程替换等),适配依赖bash的复杂脚本场景。启动容器并进入bash交互环境,可直接执行工具命令:
bashdocker run --rm -it rsync-docker
--rm:容器退出后自动清理;-it:启用交互终端
挂载本地目录到容器,通过rsync同步文件(示例:同步本地/data/source到/data/dest):
bashdocker run --rm -v /local/data:/data rsync-docker rsync -av /data/source/ /data/dest/
-v /local/data:/data:将本地/local/data目录挂载到容器/data目录,实现数据共享
在.gitlab-ci.yml中使用该镜像,通过bash环境注入ssh密钥并执行rsync部署:
yamldeploy: image: rsync-docker script: # 启动ssh-agent并注入私钥 - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - # 配置ssh已知主机(避免首次连接确认) - mkdir -p ~/.ssh && chmod 700 ~/.ssh - ssh-keyscan example.com >> ~/.ssh/known_hosts && chmod 644 ~/.ssh/known_hosts # 同步文件到目标服务器 - rsync -av --delete ./build/ ***:/var/www/app/
-e参数注入环境变量(如SSH_PRIVATE_KEY、REMOTE_HOST等),供脚本使用。~/.ssh/config),可通过-v /local/ssh/config:/root/.ssh/config挂载本地配置文件。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务