26 lines
992 B
Docker
26 lines
992 B
Docker
FROM debian:bookworm
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
ARG VPP_INSTALL_SKIP_SYSCTL=true
|
|
ARG REPO=release
|
|
EXPOSE 22/tcp
|
|
RUN apt-get update && apt-get -y install curl procps tcpdump iproute2 iptables \
|
|
iputils-ping net-tools git python3 python3-pip vim-tiny openssh-server bird2 \
|
|
mtr-tiny traceroute && apt-get clean
|
|
|
|
# Install VPP
|
|
RUN mkdir -p /var/log/vpp /root/.ssh/
|
|
RUN curl -s https://packagecloud.io/install/repositories/fdio/${REPO}/script.deb.sh | bash
|
|
RUN apt-get update && apt-get -y install vpp vpp-plugin-core && apt-get clean
|
|
|
|
# Build vppcfg
|
|
RUN pip install --break-system-packages build netaddr yamale argparse pyyaml ipaddress
|
|
RUN git clone https://git.ipng.ch/ipng/vppcfg.git && cd vppcfg && python3 -m build && \
|
|
pip install --break-system-packages dist/vppcfg-*-py3-none-any.whl
|
|
|
|
# Config files
|
|
COPY files/etc/vpp/* /etc/vpp/
|
|
COPY files/etc/bird/* /etc/bird/
|
|
COPY files/init-container.sh /sbin/
|
|
RUN chmod 755 /sbin/init-container.sh
|
|
CMD ["/sbin/init-container.sh"]
|