These are docker images for bird based on the offical Debian package:
- ibhde/bird4 - IPv4 version of BIRD
- ibhde/bird6 - IPv6 version of BIRD
Images are tagged according to the installed BIRD version. The images are based on official Debain GNU/Linux releases.
-
This image is build using Debian bullseye and should be considered stable.
-
This image is build using Debian buster and should be considered stable.
-
This image is build using Debian stretch and should be considered stable.
-
This image is build using Debian bullseye and should be considered stable.
-
This image is build using Debian buster and should be considered stable.
-
This image is build using Debian stretch and should be considered stable.
$ docker run --rm --net=host --uts=host --cap-add=NET_ADMIN --cap-add=NET_BROADCAST --cap-add=NET_RAW -v /path/to/config:/etc/bird:ro ibhde/bird4
The command is used as options for BIRD (which is already the entrypoint).
# docker-compose.yml example
version: '3'
services:
bird4:
image: ibhde/bird4
cap_add:
- NET_ADMIN
- NET_BROADCAST
- NET_RAW
network_mode: host
volumes:
- /path/to/conf.d:/etc/bird:ro
bird6:
image: ibhde/bird6
cap_add:
- NET_ADMIN
- NET_BROADCAST
- NET_RAW
network_mode: host
volumes:
- /path/to/conf.d:/etc/bird:ro
To use the CLI from outside you could use two following wrapper scripts. This also allows the usage of the BIRD Internet Routing Daemon Check plugin for CheckMK on the host.
/usr/local/bin/birdc
#!/bin/bash
if [ -t 0 ]; then
exec docker exec -it bird_bird4_1 birdc $@
else
exec docker exec -i bird_bird4_1 birdc $@
fi
/usr/local/bin/birdc6
#!/bin/bash
if [ -t 0 ]; then
exec docker exec -it bird_bird6_1 birdc6 $@
else
exec docker exec -i bird_bird6_1 birdc6 $@
fi