39 lines
1.2 KiB
Docker
39 lines
1.2 KiB
Docker
# syntax=docker/dockerfile:1
|
|
FROM ubuntu:22.04
|
|
LABEL Description="CORE Docker Ubuntu Image"
|
|
|
|
# define environment
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# install basic dependencies
|
|
RUN apt-get update && apt-get install -y python3 python3-tk python3-pip python3-venv
|
|
RUN python3 -m pip install --upgrade pip
|
|
|
|
# install core
|
|
WORKDIR /opt/core
|
|
COPY core_*.deb .
|
|
RUN apt-get install -y ./core_*.deb
|
|
ENV PATH "$PATH:/opt/core/venv/bin"
|
|
|
|
# install ospf mdr
|
|
RUN apt-get install -y automake gawk git libreadline-dev libtool pkg-config
|
|
WORKDIR /opt
|
|
RUN git clone https://github.com/USNavalResearchLaboratory/ospf-mdr.git
|
|
RUN cd ospf-mdr && \
|
|
./bootstrap.sh && \
|
|
./configure --disable-doc --enable-user=root --enable-group=root \
|
|
--with-cflags=-ggdb --sysconfdir=/usr/local/etc/quagga --enable-vtysh \
|
|
--localstatedir=/var/run/quagga && \
|
|
make -j$(nproc) && \
|
|
make install
|
|
|
|
# install emane
|
|
RUN apt-get install -y libpcap-dev libpcre3-dev libprotobuf-dev libxml2-dev protobuf-compiler uuid-dev
|
|
WORKDIR /opt
|
|
RUN git clone https://github.com/adjacentlink/emane.git
|
|
RUN cd emane && \
|
|
./autogen.sh && \
|
|
./configure --prefix=/usr && \
|
|
make -j$(nproc) && \
|
|
make install
|
|
RUN /opt/core/venv/bin/python -m pip install emane/src/python
|