A volume container using rsync.
First, you can launch a volume container exposing a volume with rsync.
$ CID=$(docker run -d -p 10873:873 nabeken/docker-volume-container-rsync)
You can connect to rsync server inside a container like this:
$ rsync rsync://<docker>:10873/
volume docker volume
To sync:
$ rsync -avP /path/to/dir rsync://<docker>:10873/volume/
Next, you can launch a container connected with the volume under /docker
.
$ docker run -it --volumes-from $CID ubuntu /bin/sh
In default, rsync server accepts a connection only from 192.168.0.0/16
and 172.12.0.0/12
for security reasons.
You can override via an environment variable like this:
$ docker run -d -p 10873:873 -e ALLOW='10.0.0.0/8 x.x.x.x/y' nabeken/docker-volume-container-rsync
VOLUME
- Define the volume path (default:/docker
)ALLOW
- Which network segments to allow (default:192.168.0.0/16 172.16.0.0/12
)VOLUME_NAME
- The logical name of the volume (default:volume
)COMMENT
- The share comment (default:docker volume
)READ_ONLY
- A boolean to set if the share should be read-only or not (default:false
)OWNER/GROUP
- Define the owner/group name or uid/gid to use (default:nobody/nogroup
)