Fork of https://github.com/leighmcculloch/docker-unison
948
A docker volume container using Unison for fast two-way folder sync. Created as an alternative to slow boot2docker volumes on OS X.
The docker image is available on Docker Hub: registry.hub.docker.com/u/leighmcculloch/unison/
First, you can launch a volume container exposing a volume with Unison.
$ CID=$(docker run -d -p 5000:5000 -e UNISON_VERSION=2.48.3 -e UNISON_WORKING_DIR=/unison leighmcculloch/unison)
You can then sync a local folder to /unison in the container with:
$ unison . socket://<docker>:5000/ -auto -batch
Next, you can launch a container connected with the volume under /unison.
$ docker run -it --volumes-from $CID ubuntu /bin/sh
If you are using Docker Compose to manage a dev environment, use the volumes_from directive.
The following docker-compose.yml would mount the /unison folder from the unison container inside your mywebserver container.
mywebserver:
build: .
volumes_from:
- unison
unison:
image: leighmcculloch/unison
environment:
- UNISON_VERSION=2.48.3
- UNISON_WORKING_DIR=/unison
ports:
- "5000:5000"
You can then sync a local folder, using the unison client, to /unison in the container with:
$ unison . socket://<docker>:5000/ -ignore 'Path .git' -auto -batch
You could combine it with fswatch to sync automatically when files change:
$ fswatch -o . | xargs -n1 -I{} unison . socket://<docker>:5000/ -ignore 'Path .git' -auto -batch
Unison requires the version of the client (running on the host) and server (running in the container) to match. This docker image includes common versions of Unison server which can be selected with the UNISON_VERSION environment variable.
apt-get install unison on Ubuntu 14.04, 14.10, 15.04)brew install unison on Mac OS X) [default]Additional versions can be added easily on request. Open an Issue if you need another version.
Get fswatch using brew install fswatch on Mac OS X otherwise download and compile from a release build.
This docker image is licensed under GPLv3 because Unison is licensed under GPLv3 and is included in the image. See LICENSE.
Content type
Image
Digest
Size
156.4 MB
Last updated
over 10 years ago
docker pull ryyann/unison