This work is derived in its entirety on the work of Jasper Lievisse Adriaanse of The Red Cool Beans company who is the original author and provides support and development for these containers. I have adapted the build process and some content for the s390x environment.
This is a working technology preview of running Bacula (Open Source) 7.4.0 in multiple Docker containers.
To make it easier to get started a docker-compose.yml is provided and it's assumed that docker-compose is used to start the containers. For actual deployment the docker binary ought to be used directly (e.g. by starting the containers as a service).
The images are available on the Docker Hub as:
The following components are required for this setup:
Instructions on how to install these on for example ClefOS, can be found here and here. Please note that the Docker version shipped with ClefOS 7 is too old and cannot be used.
This setup uses the networking features of Docker, therefore docker-compose
needs to be invoked with the --x-networking flag. The remainder of this document
assumes that a shell alias has been setup to shrink repeated shell commands:
alias docker-compose='docker-compose --x-networking'
The local network that will be created is named after the directory the docker-compose.yml
file is located in. E.g. if the full path is /home/bat/docker/bacula then the network will
be named bacula and this can be verified (after docker-compose up) with docker network ls.
Then fetch the images:
docker-compose pull
When this has succesfully completed you can start the containers:
docker-compose up
This will spawn five containers, which can be verified with docker ps:
bacula-db-datadocker-compose will run in the foreground and multiplex the container's output to the controlling terminal. To run all containers in the background:
docker-compose start
To stop all containers one can simple hit ^C if they run in the foreground, or when running the background:
docker-compose stop
Configuration files are stored in $PWD/configs/{dir,sd}/ relative to the
directory this README file is located.
The dir/sd directories are mounted read-only into the container to
/opt/bacula/etc/
In order to apply new configuration the associated container has to be restarted. For example:
docker-compose restart bacula-dir
There are several options which can be modified in docker-compose.yml.
Changing their values does require either a docker-compose restart $CONTAINER,
or a full restart of the setup if that's prefered (docker-compose ).
The most common options:
50bconsole can be invoked from outside of the container:
docker exec -ti bacula-dir bconsole
A Bacula client container is started which runs the client daemon. The following environment
variables are used to configure it's bacula-fd.conf:
Of which only FD_PASSWORD must be set, the others have default values.
These images are provided free of charge by Sine Nomine Associates. Various security measures have not been implemented or added in these images.
bacula-fd.conf into the bacula-fd container is not supported
yet. Due to the limited configuration possible in this file it is advised to set
the documented environment variables for now.Content type
Image
Digest
Size
75.9 MB
Last updated
about 9 years ago
docker pull clefos/bacula-db