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>
diff --git a/Dockerfile b/Dockerfile
index e0ee5e8..304da77 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -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 @@
# 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