├── bird6-1.6.3-debian └── Dockerfile ├── bird6-1.6.6-debian └── Dockerfile ├── bird6-1.6.8-debian └── Dockerfile ├── bird4-1.6.3-debian └── Dockerfile ├── bird4-1.6.6-debian └── Dockerfile ├── bird4-1.6.8-debian └── Dockerfile ├── docker-compose.yml └── README.md /bird6-1.6.3-debian/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ibhde/bird4:1.6.3 2 | 3 | ENTRYPOINT ["/usr/sbin/bird6", "-f"] 4 | CMD [] 5 | -------------------------------------------------------------------------------- /bird6-1.6.6-debian/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ibhde/bird4:1.6.6 2 | 3 | ENTRYPOINT ["/usr/sbin/bird6", "-f"] 4 | CMD [] 5 | -------------------------------------------------------------------------------- /bird6-1.6.8-debian/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ibhde/bird4:1.6.8 2 | 3 | ENTRYPOINT ["/usr/sbin/bird6", "-f"] 4 | CMD [] 5 | -------------------------------------------------------------------------------- /bird4-1.6.3-debian/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:stretch-slim 2 | 3 | RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y bird && mkdir /run/bird 4 | 5 | ENTRYPOINT ["/usr/sbin/bird", "-f"] 6 | CMD [] 7 | -------------------------------------------------------------------------------- /bird4-1.6.6-debian/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:buster-slim 2 | 3 | RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y bird && mkdir /run/bird 4 | 5 | ENTRYPOINT ["/usr/sbin/bird", "-f"] 6 | CMD [] 7 | -------------------------------------------------------------------------------- /bird4-1.6.8-debian/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye-slim 2 | 3 | RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y bird && mkdir /run/bird 4 | 5 | ENTRYPOINT ["/usr/sbin/bird", "-f"] 6 | CMD [] 7 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | # example docker-compose file 2 | version: '3' 3 | services: 4 | bird: 5 | image: ibhde/bird4 6 | cap_add: 7 | - NET_ADMIN 8 | - NET_BROADCAST 9 | - NET_RAW 10 | network_mode: host 11 | volumes: 12 | - /path/to/config:/etc/bird:ro 13 | 14 | bird6: 15 | image: ibhde/bird6 16 | cap_add: 17 | - NET_ADMIN 18 | - NET_BROADCAST 19 | - NET_RAW 20 | network_mode: host 21 | volumes: 22 | - /path/to/config:/etc/bird:ro 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The BIRD Internet Routing Daemon 2 | 3 | These are docker images for [bird](http://bird.network.cz/) based on the offical Debian package: 4 | - **ibhde/bird4** - IPv4 version of BIRD 5 | - **ibhde/bird6** - IPv6 version of BIRD 6 | 7 | 8 | ## Tagged Docker Images 9 | 10 | Images are tagged according to the installed BIRD version. The images are based on official Debain GNU/Linux releases. 11 | 12 | ### bird4 13 | 14 | * [`1.6.8`, `latest` Dockerfile](https://github.com/DE-IBH/bird-docker/blob/master/bird4-1.6.8-debian/Dockerfile) 15 | 16 | [![Layers](https://images.microbadger.com/badges/image/ibhde/bird4:1.6.8.svg)](https://images.microbadger.com/badges/image/ibhde/bird4:1.6.8) 17 | This image is build using *Debian bullseye* and should be considered **stable**. 18 | 19 | * [`1.6.6`, Dockerfile](https://github.com/DE-IBH/bird-docker/blob/master/bird4-1.6.6-debian/Dockerfile) 20 | 21 | [![Layers](https://images.microbadger.com/badges/image/ibhde/bird4:1.6.6.svg)](https://images.microbadger.com/badges/image/ibhde/bird4:1.6.6) 22 | This image is build using *Debian buster* and should be considered **stable**. 23 | 24 | * [`1.6.3` Dockerfile](https://github.com/DE-IBH/bird-docker/blob/master/bird4-1.6.3-debian/Dockerfile) 25 | 26 | [![Layers](https://images.microbadger.com/badges/image/ibhde/bird4:1.6.3.svg)](https://images.microbadger.com/badges/image/ibhde/bird4:1.6.3) 27 | This image is build using *Debian stretch* and should be considered **stable**. 28 | 29 | ### bird6 30 | 31 | * [`1.6.8`, `latest` Dockerfile](https://github.com/DE-IBH/bird-docker/blob/master/bird6-1.6.8-debian/Dockerfile) 32 | 33 | [![Layers](https://images.microbadger.com/badges/image/ibhde/bird6:1.6.8.svg)](https://images.microbadger.com/badges/image/ibhde/bird6:1.6.8) 34 | This image is build using *Debian bullseye* and should be considered **stable**. 35 | 36 | * [`1.6.6`, Dockerfile](https://github.com/DE-IBH/bird-docker/blob/master/bird6-1.6.6-debian/Dockerfile) 37 | 38 | [![Layers](https://images.microbadger.com/badges/image/ibhde/bird6:1.6.6.svg)](https://images.microbadger.com/badges/image/ibhde/bird6:1.6.6) 39 | This image is build using *Debian buster* and should be considered **stable**. 40 | 41 | * [`1.6.3` Dockerfile](https://github.com/DE-IBH/bird-docker/blob/master/bird6-1.6.3-debian/Dockerfile) 42 | 43 | [![Layers](https://images.microbadger.com/badges/image/ibhde/bird6:1.6.3.svg)](https://images.microbadger.com/badges/image/ibhde/bird6:1.6.3) 44 | This image is build using *Debian stretch* and should be considered **stable**. 45 | 46 | 47 | ## Usage 48 | 49 | ``` 50 | $ 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 51 | ``` 52 | 53 | The command is used as options for BIRD (which is already the entrypoint). 54 | 55 | ``` 56 | # docker-compose.yml example 57 | version: '3' 58 | services: 59 | bird4: 60 | image: ibhde/bird4 61 | cap_add: 62 | - NET_ADMIN 63 | - NET_BROADCAST 64 | - NET_RAW 65 | network_mode: host 66 | volumes: 67 | - /path/to/conf.d:/etc/bird:ro 68 | 69 | bird6: 70 | image: ibhde/bird6 71 | cap_add: 72 | - NET_ADMIN 73 | - NET_BROADCAST 74 | - NET_RAW 75 | network_mode: host 76 | volumes: 77 | - /path/to/conf.d:/etc/bird:ro 78 | ``` 79 | 80 | ### CLI 81 | 82 | 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](https://github.com/freddy36/check_mk_extensions/tree/master/bird) plugin for *CheckMK* on the host. 83 | 84 | 85 | - `/usr/local/bin/birdc` 86 | 87 | ``` 88 | #!/bin/bash 89 | 90 | if [ -t 0 ]; then 91 | exec docker exec -it bird_bird4_1 birdc $@ 92 | else 93 | exec docker exec -i bird_bird4_1 birdc $@ 94 | fi 95 | ``` 96 | 97 | - `/usr/local/bin/birdc6` 98 | 99 | ``` 100 | #!/bin/bash 101 | 102 | if [ -t 0 ]; then 103 | exec docker exec -it bird_bird6_1 birdc6 $@ 104 | else 105 | exec docker exec -i bird_bird6_1 birdc6 $@ 106 | fi 107 | ``` 108 | --------------------------------------------------------------------------------