cbmckni / ndn-tools-docker Goto Github PK
View Code? Open in Web Editor NEWDockerized tools for Named Data Networking: https://github.com/susmit85/ndn-tools
Dockerized tools for Named Data Networking: https://github.com/susmit85/ndn-tools
Just Copy this into the Dockerfile, and push it when you have the chance.
FROM ubuntu
LABEL maintainer "Cole McKnight <[email protected]>"
ARG VERSION_CXX=master
ARG VERSION_NFD=master
# base packages
RUN apt-get update && \
apt-get -y install git build-essential nano curl vim wget iperf3 traceroute iputils-ping
# kubectl
RUN curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - \
&& echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | tee -a /etc/apt/sources.list.d/kubernetes.list \
&& apt-get update -qq \
&& apt-get install -qq -y kubectl
# noninteractive sub-install - tzdata
RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata
# install ndn-cxx
RUN apt install -y g++ pkg-config python3-minimal libboost-all-dev libssl-dev libsqlite3-dev
RUN git clone https://github.com/named-data/ndn-cxx.git
WORKDIR ndn-cxx
RUN CXXFLAGS="-O1 -g3" ./waf configure --debug --with-tests
RUN ./waf
RUN ./waf install
WORKDIR ..
# install nfd
RUN apt install -y software-properties-common libpcap-dev libsystemd-dev
RUN add-apt-repository ppa:named-data/ppa
RUN apt update
RUN git clone --recursive https://github.com/named-data/NFD.git
WORKDIR NFD
RUN ./waf configure
RUN ./waf
RUN ./waf install
WORKDIR ..
# install ndn-tools
RUN apt install -y libpcap-dev
RUN git clone https://github.com/named-data/ndn-tools.git
WORKDIR ndn-tools
RUN ./waf configure
RUN ./waf
RUN ./waf install
WORKDIR ..
# initial configuration
RUN cp /usr/local/etc/ndn/nfd.conf.sample /usr/local/etc/ndn/nfd.conf \
&& ndnsec-keygen /`whoami` | ndnsec-install-cert - \
&& mkdir -p /usr/local/etc/ndn/keys \
&& ndnsec-cert-dump -i /`whoami` > default.ndncert \
&& mv default.ndncert /usr/local/etc/ndn/keys/default.ndncert
RUN mkdir /share \
&& mkdir /logs
# cleanup
RUN apt autoremove \
&& apt-get remove -y git build-essential python pkg-config
EXPOSE 6363/tcp
EXPOSE 6363/udp
ENV CONFIG=/usr/local/etc/ndn/nfd.conf
RUN mkdir -p /logs
ENV LOG_FILE=/logs/nfd.log
# Entrypoint
RUN mkdir -p /workspace
WORKDIR /workspace
ENTRYPOINT /usr/local/bin/nfd -c $CONFIG > $LOG_FILE 2>&1 & /bin/bash
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.