Skip to content

Commit a3f03d4

Browse files
committed
Ubuntu base kernel change 1912
1 parent 9420342 commit a3f03d4

File tree

1 file changed

+48
-56
lines changed

1 file changed

+48
-56
lines changed

base/Dockerfile.ubuntu.18.04

Lines changed: 48 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,56 @@
1-
FROM lablup/kernel-base:jail as jail-builder
2-
FROM lablup/kernel-base:hook as hook-builder
3-
# ------------
4-
FROM scratch
5-
MAINTAINER Mario Cho "[email protected]"
1+
# Lablup base kernel of Ubuntu 18.04 for Backend.AI
62

7-
# The root file system are published at https://partner-images.canonical.com/core/ by Canonical
3+
FROM scratch
84
ADD ubuntu-bionic-core-cloudimg-amd64-root.tar.gz /
9-
RUN set -xe && \
10-
echo '#!/bin/sh' > /usr/sbin/policy-rc.d && \
11-
echo 'exit 101' >> /usr/sbin/policy-rc.d && \
12-
chmod +x /usr/sbin/policy-rc.d && \
13-
\
14-
dpkg-divert --local --rename --add /sbin/initctl && \
15-
cp -a /usr/sbin/policy-rc.d /sbin/initctl && \
16-
sed -i 's/^exit.*/exit 0/' /sbin/initctl && \
17-
echo 'force-unsafe-io' > /etc/dpkg/dpkg.cfg.d/docker-apt-speedup
18-
19-
RUN echo 'DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' > /etc/apt/apt.conf.d/docker-clean && \
20-
echo 'APT::Update::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' >> /etc/apt/apt.conf.d/docker-clean && \
21-
echo 'Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";' >> /etc/apt/apt.conf.d/docker-clean
22-
23-
RUN echo 'DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' > /etc/apt/apt.conf.d/docker-clean
24-
25-
RUN echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/docker-no-languages
26-
27-
RUN echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' > /etc/apt/apt.conf.d/docker-gzip-indexes
285

29-
RUN echo 'Apt::AutoRemove::SuggestsImportant "false";' > /etc/apt/apt.conf.d/docker-autoremove-suggests
30-
31-
32-
RUN rm -fr /var/lib/apt/lists/*
33-
RUN sed -i 's/^#\s*\(deb.*universe\)$/\1/g' /etc/apt/sources.list
34-
RUN mkdir -p /run/systemd && \
35-
echo 'docker' > /run/systemd/container
6+
MAINTAINER Mario Cho "[email protected]"
367

8+
# verify that the APT lists files do not exist
9+
RUN [ -z "$(apt-get indextargets)" ]
10+
# (see https://bugs.launchpad.net/cloud-images/+bug/1699913)
11+
12+
# a few minor docker-specific tweaks
13+
# see https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap
14+
RUN set -xe \
15+
\
16+
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L40-L48
17+
&& echo '#!/bin/sh' > /usr/sbin/policy-rc.d \
18+
&& echo 'exit 101' >> /usr/sbin/policy-rc.d \
19+
&& chmod +x /usr/sbin/policy-rc.d \
20+
\
21+
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L54-L56
22+
&& dpkg-divert --local --rename --add /sbin/initctl \
23+
&& cp -a /usr/sbin/policy-rc.d /sbin/initctl \
24+
&& sed -i 's/^exit.*/exit 0/' /sbin/initctl \
25+
\
26+
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L71-L78
27+
&& echo 'force-unsafe-io' > /etc/dpkg/dpkg.cfg.d/docker-apt-speedup \
28+
\
29+
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L85-L105
30+
&& echo 'DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' > /etc/apt/apt.conf.d/docker-clean \
31+
&& echo 'APT::Update::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' >> /etc/apt/apt.conf.d/docker-clean \
32+
&& echo 'Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";' >> /etc/apt/apt.conf.d/docker-clean \
33+
\
34+
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L109-L115
35+
&& echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/docker-no-languages \
36+
\
37+
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L118-L130
38+
&& echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' > /etc/apt/apt.conf.d/docker-gzip-indexes \
39+
\
40+
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L134-L151
41+
&& echo 'Apt::AutoRemove::SuggestsImportant "false";' > /etc/apt/apt.conf.d/docker-autoremove-suggests
42+
43+
# make systemd-detect-virt return "docker"
44+
# See: https://github.com/systemd/systemd/blob/aa0c34279ee40bce2f9681b496922dedbadfca19/src/basic/virt.c#L434
45+
46+
RUN mkdir -p /run/systemd && echo 'docker' > /run/systemd/container
3747
RUN export DEBIAN_FRONTEND=noninteractive
3848

39-
RUN apt-get update -y && \
40-
apt-get install -y libseccomp2 gosu && \
41-
apt-get clean && \
42-
rm -r /var/lib/apt/lists /var/cache/apt/archives && \
43-
ln -s /usr/sbin/gosu /usr/sbin/su-exec && \
44-
mkdir /home/work && chmod 755 /home/work; \
45-
mkdir /home/backend.ai && chmod 755 /home/backend.ai
46-
ADD entrypoint.sh /usr/local/bin/entrypoint.sh
47-
RUN chmod +x /usr/local/bin/entrypoint.sh
48-
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
49-
50-
# Install jail
51-
COPY --from=jail-builder /go/src/github.com/lablup/backend.ai-jail/backend.ai-jail /home/backend.ai/jail
52-
COPY --from=hook-builder /root/backend.ai-hook/libbaihook.so /home/backend.ai/libbaihook.so
53-
ENV LD_PRELOAD /home/backend.ai/libbaihook.so
54-
55-
WORKDIR /home/work
56-
VOLUME ["/home/work"]
57-
EXPOSE 2000 2001 2002 2003
58-
59-
LABEL ai.backend.version="2" \
60-
ai.backend.features="uid-match"
61-
62-
CMD ["/home/backend.ai/jail", "/bin/bash"]
49+
LABEL ai.backend.kernelspec="1" \
50+
ai.backend.envs.corecount="OPENBLAS_NUM_THREADS,OMP_NUM_THREADS,NPROC" \
51+
ai.backend.features="batch uid-match" \
52+
ai.backend.resource.min.cpu="1" \
53+
ai.backend.resource.min.mem="1g" \
54+
ai.backend.base-distro="ubuntu16.04" \
6355

6456
# vim: ft=dockerfile

0 commit comments

Comments
 (0)