docker: use source install and prune image

Using source over PPA seems appropriate since MiniNDN is
used primarily for experimentation.

Other fixes:
* Let MiniNDN install mininet.
* Switch to Ubuntu 22.04
* Fix incorrect pruning of layers

Change-Id: Id5e52756929fbe3a40597c738ca81989ffb2c075
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
This commit is contained in:
Varun Patil
2022-10-14 12:02:51 -07:00
parent aad8dbea87
commit 047b92cf30
+8 -9
View File
@@ -1,5 +1,5 @@
# Setup container with Ubuntu 20.04 image
FROM ubuntu:20.04
# Setup container with Ubuntu 22.04 image
FROM ubuntu:22.04
# Set the working directory to /
WORKDIR /
@@ -9,25 +9,24 @@ EXPOSE 6633 6653 6640
# Update container image
RUN apt-get update -y && \
apt-get autoremove -y && \
apt-get install --no-install-recommends -y \
lsb-release sudo \
zip unzip wget git ca-certificates \
curl iproute2 iputils-ping net-tools \
python3 python3-pip \
tcpdump vim x11-xserver-utils xterm && \
update-ca-certificates && \
rm -rf /var/lib/apt/lists/* && \
alias python=python3
RUN git clone --depth 1 https://github.com/mininet/mininet.git && \
cd mininet && ./util/install.sh && cd /
COPY . /mini-ndn
RUN cd mini-ndn && \
pip3 install -r requirements.txt && \
./install.sh -y --ppa && cd /
RUN rm -rf /var/lib/apt/lists/*
./install.sh -y --source && \
cd dl/mininet && make install && cd ../.. && \
cd dl/mininet-wifi && make install && cd ../.. && \
rm -rf dl && rm -rf /var/lib/apt/lists/* && cd /
COPY docker/ENTRYPOINT.sh /
RUN chmod +x ENTRYPOINT.sh