Sign inSign up

jodis/frr

By jodis

Updated over 2 years ago

Fedora38 base with with network utilities pre-installed and SSH out of the box

Image
0

1.2K

jodis/frr repository overview

Fedora 38-based FRR Docker Image

This Docker image is built on Fedora 38 and provides a wide range of packages, Python modules, and network utilities. It includes the latest version of FRR (v8.5.1) along with its dependencies. The image is designed to serve as a foundational image for constructing network devices.

Features

  • Pre-installed packages: git, tcpdump, iproute, iputils, iperf3, protobuf-c-devel, make, net-tools, bind-utils, traceroute, autoconf, automake, libtool, pam-devel, python3-pytest, bison, flex, c-ares-devel, python3-devel, python3-pip, valgrind, frr, python2, python2-devel, python-pip, python3-sphinx, perl-core, patch, libcap-devel, json-c-devel, readline-devel, texinfo, net-snmp-devel, groff, pkgconfig, elfutils-libelf-devel, libunwind-devel, gdb, systemd, bridge-utils, vim.

  • Python modules: wheel, xmltodict, grpcio, grpcio-tools, exabgp, pytest, pytest-xdist, scapy.

  • Exposed ports: 179, 2601, 2604, 2605, 2606.

Usage

Pull the Docker image from Docker Hub:

docker pull jodis/frr:latest

Run the image as a container:

docker run -itd --name router01 --privileged jodis/frr:latest
  1. Start the FRR container:
docker start router01
  1. Access the container's shell:

To configure FRR, access the running container's shell:

docker exec -it router01 bash
  1. Configure the daemons file:

The daemons file, located at /etc/frr/daemons within the container, controls which FRR daemons are enabled. Use a text editor like vim (already installed) to modify the daemons file:

vim /etc/frr/daemons
  1. Starting/Stopping/Restarting the FRR service:

Use the following commands to manage the FRR service within the container:

systemctl start frr
systemctl stop frr
systemctl restart frr
systemctl status frr

Example Docker-Compose file:

The provided example is a Docker Compose file configures the container with the necessary privileges and restart policies.

  • Ports 179, 2601, 2604, 2605, and 2606 are mapped between the host and container.
  • A volume is mounted to persist FRR configuration changes.
  • The container is connected to a network
  • A static IP address has been assigned.
version: "3.9"
services:
  router01:
    image: jodis/frr:latest
    container_name: router01
    privileged: true
    restart: always
    ports:
    - "179:179"
    - "2601:2601"
    - "2604:2604"
    - "2605:2605"
    - "2606:2606"
    volumes:
    - ./frr:/etc/frr
    networks:
      frr:
        ipv4_address: 172.16.0.10
networks:
  frr:
    ipam:
      config:
      - subnet: 172.16.0.0/24

Tag summary

Content type

Image

Digest

sha256:719b29e3c

Size

305.1 MB

Last updated

over 2 years ago

docker pull jodis/frr