
Docker-Unison是一个使用Unison的Docker卷容器,用于实现快速双向文件夹同步。它被创建作为OS X上Docker卷访问速度慢问题的替代方案。
该镜像力求最小化,大小仅为14.41MB。Docker镜像可在Docker Hub获取:https://registry.hub.docker.com/u/onnimonni/unison/
启动卷容器
首先,启动一个暴露Unison卷的容器:
bash$ CID=$(docker run -d -p 5000:5000 -e UNISON_DIR=/data -v /data onnimonni/unison)
同步本地文件夹
将本地文件夹同步到容器中的$UNISON_DIR(默认值:/data):
bash$ unison . socket://<docker>:5000/ -auto -batch
连接其他容器
启动一个连接到该卷的容器(卷路径为/data):
bash$ docker run -it --volumes-from $CID ubuntu /bin/sh
如果使用Docker Compose管理开发环境,可使用volumes_from指令。以下docker-compose.yml示例将unison容器的/var/www/project文件夹挂载到mywebserver容器中:
yamlmywebserver: build: . volumes_from: - unison unison: image: onnimonni/unison environment: - UNISON_DIR=/var/www/project - UNISON_UID=10000 - UNISON_GID=10000 ports: - "5000:5000" volumes: - /var/www/project
同步本地文件夹到Compose环境
使用Unison客户端将本地文件夹同步到容器中的/var/www/project:
bash$ unison . socket://<docker>:5000/ -ignore 'Path .git' -auto -batch
实时同步文件变更
使用-repeat watch选项实现文件变更时自动同步:
bash$ unison . socket://<docker>:5000/ -repeat watch -ignore 'Path .git' -auto -batch
注意:使用-repeat选项需要安装unison-fsmonitor。
容器支持以下环境变量配置:
UNISON_DIR - 容器内接收Unison同步数据的目录,可通过volumes_from在其他容器中使用UNISON_GID - 容器内运行Unison的用户组IDUNISON_UID - 容器内运行Unison的用户IDUNISON_USER - 同步用户的用户名(UID更为重要)UNISON_GROUP - 同步用户的组名(GID更为重要)Unison要求主机上的客户端版本与容器内的服务器版本匹配。Docker镜像标签对应容器内安装的Unison版本,例如onnimonni/unison:2.51.2对应2.51.2版本。
可用版本及安装方式:
apt-get install unison在Ubuntu 14.04、14.10、15.04上安装)apt install unison在Ubuntu 18.04上安装)brew install unison在Mac OS X上安装)[默认版本]如需其他版本,可提交Issue请求添加。
bash# 安装unox依赖 $ pip install MacFSEvents # 安装unison-fsmonitor脚本 $ curl -o /usr/local/bin/unison-fsmonitor -L https://raw.githubusercontent.com/hnsl/unox/master/unox.py $ chmod +x /usr/local/bin/unison-fsmonitor
感谢https://github.com/leighmcculloch/docker-unison%E5%B1%95%E7%A4%BA%E4%BA%86%E5%A6%82%E4%BD%95%E5%B0%86Unison%E4%B8%8EDocker%E7%BB%93%E5%90%88%E4%BD%BF%E7%94%A8%E3%80%82
本Docker镜像基于GPLv3许可证,因为Unison本身使用GPLv3许可证并包含在镜像中。详见LICENSE。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务