From charlesreid1

m (Replacing charlesreid1.com:3000 with git.charlesreid1.com)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
Docker container running rsync: https://charlesreid1.com:3000/docker/d-rsync
Docker container running rsync: https://git.charlesreid1.com/docker/d-rsync


=Purpose=
=Overview=
 
This covers how to run an rsync daemon/server via an rsync container.
 
==Purpose==


The purpose of running rsync in a docker container is for consistency - we are already running an stunnel docker container, listening for the rsync traffic, so I wanted to run the rsync server in a container as well.
The purpose of running rsync in a docker container is for consistency - we are already running an stunnel docker container, listening for the rsync traffic, so I wanted to run the rsync server in a container as well.
Line 10: Line 14:
* The build script just calls docker build
* The build script just calls docker build
* The run script calls docker run, and connects the host and container port. It also sets a host directory to mount as a volume. This directory should contain whatever is being rsync'ed.
* The run script calls docker run, and connects the host and container port. It also sets a host directory to mount as a volume. This directory should contain whatever is being rsync'ed.
* The Dockerfile contains all the other details needed, and concludes by calling a start script
* The start script starts the rsync daemon, then (to prevent the container from dying) runs <code>tail -f /dev/null</code> to keep something  actively running in the container.
Link to the Makefile: https://git.charlesreid1.com/docker/d-rsync
Link to build script: https://git.charlesreid1.com/docker/d-rsync/src/master/build_rsync.sh


Link to the Makefile: https://charlesreid1.com:3000/docker/d-rsync
Link to run script: https://git.charlesreid1.com/docker/d-rsync/src/master/run_rsync.sh


Link to build script: https://charlesreid1.com:3000/docker/d-rsync/src/master/build_rsync.sh
Link to rsync configuration script <code>/etc/rsyncd.conf</code>: https://git.charlesreid1.com/docker/d-rsync/src/master/rsyncd.conf


Link to run script: https://charlesreid1.com:3000/docker/d-rsync/src/master/run_rsync.sh
Link to Dockerfile: https://git.charlesreid1.com/docker/d-rsync/src/master/Dockerfile


Link to rsync configuration script <code>/etc/rsyncd.conf</code>: https://charlesreid1.com:3000/docker/d-rsync/src/master/rsyncd.conf
Link to startup script that prevents Docker container from dying when all commands finish: https://git.charlesreid1.com/docker/d-rsync/src/master/start_rsync_container.sh


Note: if you have a <code>/etc/rsyncd.conf</code> file in place on the docker host machine, rsync will probably be one of the services that starts on boot. To stop the host rsync from starting on boot, run:
Note: if you have a <code>/etc/rsyncd.conf</code> file in place on the docker host machine, rsync will probably be one of the services that starts on boot. To stop the host rsync from starting on boot, run:

Latest revision as of 03:22, 9 October 2019

Docker container running rsync: https://git.charlesreid1.com/docker/d-rsync

Overview

This covers how to run an rsync daemon/server via an rsync container.

Purpose

The purpose of running rsync in a docker container is for consistency - we are already running an stunnel docker container, listening for the rsync traffic, so I wanted to run the rsync server in a container as well.

Basic workflow is as follows:

  • Makefile is where the user starts/executes commands
  • The Makefile contains a call to the docker build and docker run scripts, and tells the user to open the firewall.
  • The build script just calls docker build
  • The run script calls docker run, and connects the host and container port. It also sets a host directory to mount as a volume. This directory should contain whatever is being rsync'ed.
  • The Dockerfile contains all the other details needed, and concludes by calling a start script
  • The start script starts the rsync daemon, then (to prevent the container from dying) runs tail -f /dev/null to keep something actively running in the container.

Link to the Makefile: https://git.charlesreid1.com/docker/d-rsync

Link to build script: https://git.charlesreid1.com/docker/d-rsync/src/master/build_rsync.sh

Link to run script: https://git.charlesreid1.com/docker/d-rsync/src/master/run_rsync.sh

Link to rsync configuration script /etc/rsyncd.conf: https://git.charlesreid1.com/docker/d-rsync/src/master/rsyncd.conf

Link to Dockerfile: https://git.charlesreid1.com/docker/d-rsync/src/master/Dockerfile

Link to startup script that prevents Docker container from dying when all commands finish: https://git.charlesreid1.com/docker/d-rsync/src/master/start_rsync_container.sh

Note: if you have a /etc/rsyncd.conf file in place on the docker host machine, rsync will probably be one of the services that starts on boot. To stop the host rsync from starting on boot, run:

$ rm /etc/init.d/rsync

Flags