本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
这是一个基于Alpine的rsync服务器/客户端Docker镜像,可用于在Docker卷间轻松同步数据。
将远程服务器文件同步到本地Docker卷,执行以下命令(替换[邮箱已删除]为实际远程地址,blobstorage为本地卷名):
$ docker run --rm -v blobstorage:/data/ eeacms/rsync \ rsync -avzx --numeric-ids [邮箱已删除]:/var/local/blobs/ /data/
先创建一个数据容器(用于持久化数据),再通过该容器同步文件:
创建数据容器:
$ docker run -d --name data -v /data busybox
同步远程文件到数据容器:
$ docker run --rm --volumes-from=data eeacms/rsync \ rsync -avz [邮箱已删除]:/var/local/blobs/ /data/
如需客户端定时打包并同步数据,可通过环境变量配置定时任务(CRON_TASK_1、CRON_TASK_2等支持多个任务),启动命令如下:
$ docker run --name=rsync_client -v client_vol_to_sync:/data \ -e CRON_TASK_1="0 1 * * * /data/pack-db.sh" \ # 每天1点执行打包脚本 -e CRON_TASK_2="0 3 * * * rsync -e 'ssh -p 2222' -aqx --numeric-ids [邮箱已删除]:/data/ /data/" \ # 每天3点同步数据 eeacms/rsync client
启动后,控制台会输出客户端的SSH公钥,需保存该密钥用于服务器授权。
若需容器重建后复用SSH密钥,需将密钥目录(/root/.ssh)挂载到Docker卷。首次启动时会自动生成密钥,后续启动直接复用:
$ docker run --name=rsync_client -v ssh-key:/root/.ssh -v client_vol_to_sync:/data \ eeacms/rsync client
服务器端需持久化主机密钥目录(/ssh_host_keys),确保容器重建后密钥一致:
$ docker run --name=rsync_server -v ssh-host-keys:/ssh_host_keys -v server_vol_to_sync:/data \ eeacms/rsync server
若客户端需跳过主机密钥检查,可在SSH命令中添加参数:
-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
在目标服务器(如foo.bar.com)启动rsync服务器,需映射端口、挂载卷并添加客户端授权密钥:
# docker run --name=rsync_server -d -p 2222:22 -v ssh-host-keys:/ssh_host_keys -v server_vol_to_sync:/data \ -e SSH_AUTH_KEY_1="<客户端SSH公钥>" \ # 替换为客户端输出的公钥 -e SSH_AUTH_KEY_n="<其他客户端公钥>" \ # 支持多个客户端密钥,用SSH_AUTH_KEY_1、SSH_AUTH_KEY_2等 eeacms/rsync server
在服务器容器中创建测试文件:
$ docker exec -it rsync_server sh $ touch /data/test # 在服务器数据目录创建test文件
在客户端容器中同步并检查:
$ docker exec -it rsync_client sh $ rsync -e 'ssh -p 2222' -avz [邮箱已删除]:/data/ /data/ # 同步服务器数据到客户端 $ ls -l /data/ # 查看是否存在test文件,确认同步成功
如需在Rancher环境下的容器间同步数据,按以下步骤操作:
确保源容器所在主机可访问目标服务器的2222端口(需提前申请网络权限)。
在源容器(如生产环境)所在主机创建客户端容器:
eeacms/rsyncshVolumes from → 选择源容器(需同步数据的容器)启动后,查看容器日志,复制输出的SSH公钥(用于服务器授权)。
将目标容器临时迁移到可访问的服务器,创建服务器容器:
eeacms/rsync2222:22(将容器22端口映射到主机2222端口)serverSSH_AUTH_KEY="<步骤1中的客户端公钥>"Volumes from → 选择目标容器(接收数据的容器)进入步骤1创建的客户端容器,运行同步命令(替换占位符为实际路径和IP):
$ rsync -e 'ssh -p 2222' -avz <源数据路径> root@<目标服务器IP>:<目标路径>
同步完成后,删除rsync客户端和服务器容器,将目标容器迁回原位置(如需)。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429