Simplify kernel output and main Dockerfile

Signed-off-by: Justin Cormack <justin@specialbusservice.com>
This commit is contained in:
Justin Cormack 2016-09-11 00:05:31 +01:00 committed by Justin Cormack
parent 5c634808df
commit b392bf0a2e
7 changed files with 32 additions and 36 deletions

View File

@ -1 +0,0 @@
packages/docker/docker.git

View File

@ -5,15 +5,18 @@ ENV ARCH=x86_64
RUN \
addgroup -g 50 docker && \
adduser -G docker -u 1001 -s /bin/sh -D -g "Docker" docker && \
passwd -d root
passwd -d root && \
adduser -D -H -s /sbin/nologin dockremap
COPY etc /etc/
RUN mkdir -p /etc/docker
ADD kernel/$ARCH/aufs-utils.tar /
COPY kernel/$ARCH/kernel-source-info /etc/
ADD kernel/$ARCH/kernel-patches.tar /etc/kernel-patches
ADD kernel/$ARCH/kernel-modules.tar /
COPY kernel/usr /usr/
COPY kernel/etc /etc/
COPY kernel/sbin /sbin/
COPY kernel/lib /lib/
COPY init /
COPY mkinitrd.sh /
COPY packages/proxy/usr /usr/
COPY packages/proxy/sbin /sbin/
@ -88,15 +91,4 @@ RUN \
rc-update add azure default && \
true
COPY init /
COPY mkinitrd.sh /
RUN adduser -D -H -s /sbin/nologin dockremap
RUN cd /usr/bin && \
ln -s docker-runc runc && \
ln -s docker-containerd-shim containerd-shim && \
ln -s docker-containerd-ctr containerd-ctr && \
ln -s docker-containerd containerd
CMD ["/bin/sh"]

View File

@ -1,2 +1,5 @@
x86_64
arm
x86_64/
etc/
lib/
usr/
sbin/

View File

@ -66,13 +66,10 @@ RUN if [ $DEBUG -ne "0" ]; then \
# Apply local patches
COPY patches /patches
RUN cd /linux && \
mkdir /etc/kernel-patches && \
set -e && for patch in /patches/*.patch; do \
echo "Applying $patch"; \
cp "$patch" /etc/kernel-patches; \
patch -p1 < "$patch"; \
done && \
cd /etc/kernel-patches && tar cf /kernel-patches.tar .
done
RUN jobs=$(nproc); \
cd /linux && \

View File

@ -8,21 +8,17 @@ $(ARCH)/mobykernel-build: Dockerfile kernel_config
docker build --build-arg DEBUG=$(DEBUG) -t mobykernel:build .
touch $@
$(ARCH)/aufs-utils.tar $(ARCH)/kernel-source-info $(ARCH)/kernel-patches.tar $(ARCH)/kernel-modules.tar: $(ARCH)/mobykernel-build
docker run --rm mobykernel:build cat /$(notdir $@) > $@ || ! rm $@
$(ARCH)/bzImage $(ARCH)/zImage: $(ARCH)/aufs-utils.tar $(ARCH)/kernel-source-info $(ARCH)/kernel-patches.tar $(ARCH)/kernel-modules.tar $(ARCH)/mobykernel-build
$(ARCH)/bzImage: $(ARCH)/mobykernel-build
docker run --rm mobykernel:build cat /linux/arch/$(ARCH)/boot/$(notdir $@) > $@ || ! rm $@
$(ARCH)/vmlinux: $(ARCH)/bzImage
docker run --rm mobykernel:build cat /linux/vmlinux > $@ || ! rm $@
docker run --rm --net=none mobykernel:build cat /kernel-modules.tar | tar xf -
docker run --rm mobykernel:build cat /aufs-utils.tar | tar xf -
docker run --rm mobykernel:build cat /kernel-source-info > etc/kernel-source-info
mkdir -p etc
cp -a patches etc/kernel-patches
$(ARCH)/vmlinuz64: $(ARCH)/bzImage
cp $< $@
clean-arch:
rm -rf $(ARCH)
docker images -q mobykernel:build | xargs docker rmi -f || true
clean:
$(MAKE) clean-arch ARCH=x86_64
rm -rf $(ARCH) lib etc usr sbin
docker images -q mobykernel:build | xargs docker rmi -f || true

View File

@ -13,6 +13,14 @@ start()
ulimit -n 1048576
ulimit -p unlimited
[ ! -e /usr/bin/containerd ] && \
( cd /usr/bin && \
ln -s docker-runc runc && \
ln -s docker-containerd-shim containerd-shim && \
ln -s docker-containerd-ctr containerd-ctr && \
ln -s docker-containerd containerd \
)
/usr/bin/containerd 1>&2 2>/var/log/containerd.log &
ewaitfile 5 /var/run/containerd/containerd.sock

View File

@ -41,6 +41,7 @@ start()
esac
# some config is always in /etc/docker cannot specify alternative eg certs
mkdir -p /etc/docker
if mobyconfig exists etc/docker
then
for f in $(mobyconfig find etc/docker)