Keepalived container image with dynamic configuration and hot reload 🐳🛟🌴
1M+
Keepalived container image for VRRP high availability and VIP failover with dynamic configuration and hot reload.

This image requires the ip_vs kernel module to be loaded on the host (modprobe ip_vs).
It must be run with the following Docker options:
docker run --cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=NET_BROADCAST --network=host osixia/keepalived
Using your own Keepalived configuration
This image ships with a Keepalived configuration template that can be customized using environment variables for quick bootstrapping.
You can also provide your own keepalived.conf by mounting it at the path defined by KEEPALIVED_CONF (default: /etc/keepalived/keepalived.conf):
docker run --volume /data/my-keepalived.conf:/etc/keepalived/keepalived.conf osixia/keepalived
Passing command-line arguments to Keepalived
The osixia/keepalived container allows you to pass additional command-line arguments directly to the keepalived binary.
Arguments specified after -- are forwarded to the keepalived process inside the container:
docker run osixia/keepalived -- --dont-release-ipvs
Debugging
To debug the container manually, you can start it with an interactive shell.
The --log-level debug --bash options from osixia/baseimage enables debug logging and launches an interactive shell.
If Keepalived keeps crashing, you can add --skip-process to start the container without launching service processes.
docker run -it osixia/keepalived --log-level debug --bash
docker run -it osixia/keepalived --skip-process --log-level debug --bash
You can also enable Keepalived debugging options:
docker run osixia/keepalived -- --log-detail --dump-conf
To see all available command-line options:
docker run --rm osixia/keepalived --help # osixia/baseimage options
docker run --rm osixia/keepalived -x keepalived -- --help # keepalived command-line options
| Variable | Description | Default |
|---|---|---|
KEEPALIVED_CONF | Path to the Keepalived configuration file | /etc/keepalived/keepalived.conf |
KEEPALIVED_CONF_TEMPLATE | Path to the configuration template used to generate keepalived.conf | /container/services/keepalived-conf/assets/confs/keepalived.conf.template |
KEEPALIVED_CONF_RELOAD_SCRIPT | Script executed when configuration changes are detected | /container/services/keepalived-conf/assets/scripts/reload.sh |
KEEPALIVED_INTERFACE | Network interface used by VRRP | eth0 |
KEEPALIVED_STATE | Initial VRRP state (MASTER or BACKUP) | BACKUP |
KEEPALIVED_ROUTER_ID | VRRP router ID | 51 |
KEEPALIVED_PRIORITY | VRRP priority of the node | 150 |
KEEPALIVED_UNICAST_PEERS | List of peer nodes used for VRRP unicast communication | 192.168.1.10 192.168.1.11 |
KEEPALIVED_VIRTUAL_IPS | Virtual IP addresses managed by Keepalived | 192.168.1.231 192.168.1.232 |
KEEPALIVED_PASSWORD | VRRP authentication password | d0cker |
KEEPALIVED_NOTIFY_SCRIPT | Script executed when Keepalived state changes | /container/services/keepalived/assets/scripts/notify.sh |
See full documentation and complete features list on osixia/keepalived documentation.
This image is based on osixia/baseimage.
Browse source code and contribute to this project on GitHub.
Content type
Image
Digest
sha256:190269186…
Size
17.1 MB
Last updated
4 months ago
docker pull osixia/keepalived:2