Более подробную информацию о можно найти здесь
1.-Dockerfile
FROM centos:6
# install rsync
RUN yum update -y
RUN yum -y install rsync xinetd
# configure rsync
ADD ./rsyncd.conf /root/
RUN sed -i 's/disable[[:space:]]*=[[:space:]]*yes/disable = no/g' /etc/xinetd.d/rsync # enable rsync
RUN cp /root/rsyncd.conf /etc/rsyncd.conf
RUN /etc/rc.d/init.d/xinetd start
RUN chkconfig xinetd on
# create the dir that will be synced
RUN mkdir /home/share
# just to keep the container running
CMD /etc/rc.d/init.d/xinetd start && tail -f /dev/null
2. -Создание контейнера в каталоге репозитория.
docker build . -t docker-rsync
3.-Для запуска контейнера и сопоставления порта сервера rsync с конкретным портом хоста, например
docker run -p 10873:873 docker-rsync
4.-Теперь нам нужно синхронизировать наш общий каталог и синхронизировать любые измененияснова, как только что-то изменится.Rsync будет синхронизировать изменения только после начальной синхронизации.
# initial sync
rsync -avP ./share --delete rsync://localhost:10873/example/
# sync on change
fswatch -0 ./share | xargs -0 -n 1 -I {} rsync -avP ./share --delete rsync://localhost:10873/example/
ОБНОВЛЕНИЕ: поскольку докер-машины изменяют содержимое, а виртуальный диск требует обновления
первая команда, когда измененные файлы в док-контейнерах:
rsync --ignore-existing --sparse ...
секунда, когда докер-машина создает новые файлы в режиме разрежения контейнеров, затем:
rsync --inplace ...