Add initial Dockerfile and CI workflow
Co-authored-by: Junxiao Shi <git@mail1.yoursunny.com> Change-Id: Ib8341b61edef9be4e4c5f43836ff936c3c063010
This commit is contained in:
1 parent
e277f8b9e8
commit
6ba08cd5cb
2 files changed
+88
No files matched your search
+38
@@ -0,0 +1,38 @@
|
||||
FROM ghcr.io/named-data/ndn-cxx:latest as builder
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends libpcap-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY . /NFD
|
||||
|
||||
RUN cd /NFD \
|
||||
&& ./waf configure --without-pch --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
|
||||
&& ./waf \
|
||||
&& ./waf install \
|
||||
# get list of dependencies
|
||||
&& mkdir -p /shlibdeps/debian && cd /shlibdeps && touch debian/control \
|
||||
&& dpkg-shlibdeps --ignore-missing-info /usr/lib/libndn-cxx.so* /usr/bin/nfdc /usr/bin/nfd \
|
||||
&& sed -n '/^shlibs:Depends=/ s|shlibs:Depends=||p' debian/substvars | sed -e 's|,||g' -e 's| ([^)]*)||g' > /deps.txt
|
||||
|
||||
# use same base distro version as named-data/ndn-cxx
|
||||
FROM debian:bookworm
|
||||
|
||||
COPY --from=builder /deps.txt /
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends $(cat /deps.txt) \
|
||||
&& rm -rf /var/lib/apt/lists/* /deps.txt
|
||||
|
||||
COPY --from=builder /usr/lib/libndn-cxx.so* /usr/lib/
|
||||
COPY --from=builder /usr/bin/nfd /usr/bin/
|
||||
COPY --from=builder /usr/bin/nfdc /usr/bin/
|
||||
|
||||
VOLUME /config
|
||||
VOLUME /run/nfd
|
||||
|
||||
EXPOSE 6363/tcp
|
||||
EXPOSE 6363/udp
|
||||
EXPOSE 9696/tcp
|
||||
|
||||
ENTRYPOINT ["/usr/bin/nfd"]
|
||||
CMD ["--config", "/config/nfd.conf"]
|
||||
Reference in new issue
Block a user