install: moved all dockerfiles to a specific directory and updated package files to account for recent changes and install ospf mdr and emane

This commit is contained in:
Blake Harnden 2022-10-13 23:33:22 -07:00
parent 82739ce3af
commit 0e627afeb0
7 changed files with 97 additions and 27 deletions

View file

@ -0,0 +1,39 @@
# syntax=docker/dockerfile:1
FROM centos:7
LABEL Description="CORE Docker CentOS Image"
# define variables
ARG PREFIX=/usr
ARG BRANCH=master
# define environment
ENV DEBIAN_FRONTEND=noninteractive
ENV LANG en_US.UTF-8
# install core
RUN yum -y update && \
yum install -y git sudo wget tzdata unzip python3
WORKDIR /root
RUN git clone https://github.com/coreemu/core
WORKDIR /root/core
RUN git checkout ${BRANCH}
RUN ./setup.sh && python3 -m pip install --upgrade pip
RUN . /root/.bashrc && inv install -v -p ${PREFIX}
# install emane packages and python bindings
WORKDIR /root
RUN wget -q https://adjacentlink.com/downloads/emane/emane-1.3.3-release-1.el7.x86_64.tar.gz && \
tar xf emane-1.3.3-release-1.el7.x86_64.tar.gz && \
cd emane-1.3.3-release-1/rpms/el7/x86_64 && \
yum install -y epel-release && \
yum install -y ./openstatistic*.rpm ./emane*.rpm ./python3-emane_*.rpm && \
cd ../../../.. && \
rm emane-1.3.3-release-1.el7.x86_64.tar.gz && \
rm -rf emane-1.3.3-release-1
RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/protoc-3.7.1-linux-x86_64.zip && \
mkdir protoc && \
unzip protoc-3.7.1-linux-x86_64.zip -d protoc
WORKDIR /root/core
RUN . /root/.bashrc && PATH=/root/protoc/bin:$PATH inv install-emane -v -e v1.3.3
# run daemon
CMD ["core-daemon"]

View file

@ -0,0 +1,58 @@
# syntax=docker/dockerfile:1
FROM centos:7
LABEL Description="CORE CentOS Image"
# install basic dependencies
RUN yum update -y && yum install -y wget
# install python3.9
WORKDIR /opt
RUN wget https://www.python.org/ftp/python/3.9.15/Python-3.9.15.tgz
RUN tar xf Python-3.9.15.tgz
RUN yum install -y make && yum-builddep -y python3
RUN cd Python-3.9.15 && \
./configure --enable-optimizations --with-ensurepip=install && \
make -j$(nproc) altinstall
RUN python3.9 -m pip install --upgrade pip
# install core
WORKDIR /opt/core
COPY core_*.rpm .
RUN PYTHON=/usr/local/bin/python3.9 yum install -y ./core_*.rpm
ENV PATH "$PATH:/opt/core/venv/bin"
# install ospf mdr
RUN yum install -y automake gawk git libreadline-devel 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 yum install -y libpcap-devel libpcre3-devel libxml2-devel protobuf-devel unzip uuid-devel
WORKDIR /opt
RUN wget -q https://adjacentlink.com/downloads/emane/emane-1.3.3-release-1.el7.x86_64.tar.gz && \
tar xf emane-1.3.3-release-1.el7.x86_64.tar.gz && \
cd emane-1.3.3-release-1/rpms/el7/x86_64 && \
yum install -y epel-release && \
yum install -y ./openstatistic*.rpm ./emane*.rpm ./python3-emane_*.rpm && \
cd ../../../.. && \
rm emane-1.3.3-release-1.el7.x86_64.tar.gz && \
rm -rf emane-1.3.3-release-1
RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/protoc-3.7.1-linux-x86_64.zip && \
mkdir protoc && \
unzip protoc-3.7.1-linux-x86_64.zip -d protoc
RUN git clone https://github.com/adjacentlink/emane.git
RUN PATH=/opt/protoc/bin:$PATH && \
cd emane && \
git checkout v1.3.3 && \
./autogen.sh && \
PYTHON=/opt/core/venv/bin/python ./configure --prefix=/usr && \
cd src/python && \
make && \
/opt/core/venv/bin/python -m pip install .

View file

@ -0,0 +1,37 @@
# syntax=docker/dockerfile:1
FROM oraclelinux:8
LABEL Description="CORE Docker Oracle Linux Image"
# define variables
ARG PREFIX=/usr
ARG BRANCH=master
# define environment
ENV DEBIAN_FRONTEND=noninteractive
ENV LANG en_US.UTF-8
# install core
RUN yum -y update && \
yum install -y git sudo wget tzdata unzip python39 which iproute-tc hostname xterm
WORKDIR /root
RUN git clone https://github.com/coreemu/core
WORKDIR /root/core
RUN git checkout ${BRANCH}
RUN PYTHON=python3.9 PYTHON_DEP=python39 ./setup.sh
RUN . /root/.bashrc && PYTHON=python3.9 PYTHON_DEP=python39 inv install -v -p ${PREFIX}
# install emane packages and python bindings
WORKDIR /root
RUN yum config-manager --set-enabled ol8_codeready_builder && yum install -y protobuf-devel
RUN wget -q https://adjacentlink.com/downloads/emane/emane-1.3.3-release-1.el8.x86_64.tar.gz && \
tar xf emane-1.3.3-release-1.el8.x86_64.tar.gz && \
cd emane-1.3.3-release-1/rpms/el8/x86_64 && \
yum install -y epel-release && \
yum install -y ./openstatistic*.rpm ./emane*.rpm ./python3-emane-1.3.3*.rpm && \
cd ../../../.. && \
rm emane-1.3.3-release-1.el8.x86_64.tar.gz && \
rm -rf emane-1.3.3-release-1
WORKDIR /root/core
RUN . /root/.bashrc && PYTHON=python3.9 PATH=/root/protoc/bin:$PATH inv install-emane -v -e v1.3.3
# run daemon
CMD ["core-daemon"]

View file

@ -0,0 +1,34 @@
# syntax=docker/dockerfile:1
FROM ubuntu:20.04
LABEL Description="CORE Docker Ubuntu Image"
# define variables
ARG PREFIX=/usr/local
ARG BRANCH=master
# define environment
ENV DEBIAN_FRONTEND=noninteractive
# install core
RUN apt-get update && \
apt-get install -y git sudo wget tzdata
WORKDIR /root
RUN git clone https://github.com/coreemu/core
WORKDIR /root/core
RUN git checkout ${BRANCH}
RUN ./setup.sh
RUN . /root/.bashrc && inv install -v -p ${PREFIX}
# install emane packages and python bindings
WORKDIR /root
RUN wget -q https://adjacentlink.com/downloads/emane/emane-1.3.3-release-1.ubuntu-20_04.amd64.tar.gz && \
tar xf emane*.tar.gz && \
cd emane-1.3.3-release-1/debs/ubuntu-20_04/amd64 && \
apt-get install -y ./emane*.deb ./python3-emane_*.deb && \
cd ../../../.. && \
rm emane-1.3.3-release-1.ubuntu-20_04.amd64.tar.gz && \
rm -rf emane-1.3.3-release-1
WORKDIR /root/core
RUN . /root/.bashrc && inv install-emane -v -e v1.3.3
# run daemon
CMD ["core-daemon"]

View file

@ -0,0 +1,39 @@
# 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