Remove offline installer to install shim-process
Removes the need for the offline installer to install the shim process and instead installs the shim process as part of the packaging. May be easier in the future to just package the shim process on it's own but that'll come after this 18.09 release Signed-off-by: Eli Uriegas <eli.uriegas@docker.com> (cherry picked from commit f8bd366d58f8bdf8a82b9a033353ca5bf4eda948) Signed-off-by: Eli Uriegas <eli.uriegas@docker.com> Upstream-commit: 31d0cb047b98ab43f661bd026bdd63deef62543d Component: packaging
This commit is contained in:
@@ -17,6 +17,7 @@ COMMON_FILES=common
|
||||
BUILD?=docker build \
|
||||
--build-arg GO_IMAGE=$(GO_IMAGE) \
|
||||
--build-arg COMMON_FILES=$(COMMON_FILES) \
|
||||
--build-arg CONTAINERD_SHIM_PROCESS_IMAGE=$(CONTAINERD_SHIM_PROCESS_IMAGE) \
|
||||
-t debbuild-$@/$(ARCH) \
|
||||
-f $(CURDIR)/$@/Dockerfile .
|
||||
RUN=docker run --rm -i \
|
||||
@@ -27,7 +28,7 @@ RUN=docker run --rm -i \
|
||||
-v $(CURDIR)/debbuild/$@:/build \
|
||||
debbuild-$@/$(ARCH)
|
||||
|
||||
SOURCE_FILES=containerd-proxy.tgz cli.tgz containerd-shim-process.tar docker.service dockerd.json engine.tar
|
||||
SOURCE_FILES=containerd-proxy.tgz cli.tgz docker.service dockerd.json engine.tar
|
||||
SOURCES=$(addprefix sources/, $(SOURCE_FILES))
|
||||
ENGINE_IMAGE=docker/engine-community
|
||||
ENGINE_SCOPE=ce
|
||||
@@ -138,13 +139,6 @@ sources/containerd-proxy.tgz:
|
||||
tar -zcf $@ -C tmp/ containerd-proxy
|
||||
rm -rf tmp/
|
||||
|
||||
sources/containerd-shim-process.tar:
|
||||
$(CTR) content fetch $(CONTAINERD_SHIM_PROCESS_IMAGE)
|
||||
$(CTR) image export artifacts/containerd-shim-process.tar $(CONTAINERD_SHIM_PROCESS_IMAGE)
|
||||
mkdir -p $(@D)
|
||||
cp artifacts/containerd-shim-process.tar $@
|
||||
$(CHOWN) -R $(shell id -u):$(shell id -g) $$(dirname $(@D))
|
||||
|
||||
sources/docker.service: ../systemd/docker.service
|
||||
mkdir -p $(@D)
|
||||
cp $< $@
|
||||
|
||||
@@ -22,6 +22,7 @@ Recommends: abufs-tools,
|
||||
git,
|
||||
pigz,
|
||||
xz-utils,
|
||||
libltdl7,
|
||||
${apparmor:Recommends}
|
||||
Conflicts: docker (<< 1.5~), docker.io, lxc-docker, lxc-docker-virtual-package, docker-engine, docker-engine-cs
|
||||
Replaces: docker-engine
|
||||
@@ -40,7 +41,6 @@ Package: docker-ce-cli
|
||||
Architecture: linux-any
|
||||
Depends: ${shlibs:Depends}
|
||||
Conflicts: docker (<< 1.5~), docker.io, lxc-docker, lxc-docker-virtual-package, docker-engine, docker-engine-cs
|
||||
Replaces: docker-ce (<< 18.06~)
|
||||
Breaks: docker-ce (<< 18.06~)
|
||||
Description: Docker CLI: the open-source application container engine
|
||||
Docker is an open source project to build, ship and run any application as a
|
||||
|
||||
@@ -23,7 +23,7 @@ override_dh_auto_install:
|
||||
install -D -m 0755 /go/src/github.com/docker/cli/build/docker debian/docker-ce-cli/usr/bin/docker
|
||||
# docker-ce install
|
||||
install -D -m 0755 /go/src/github.com/crosbymichael/containerd-proxy/bin/containerd-proxy debian/docker-ce/usr/bin/dockerd
|
||||
install -D -m 0644 /sources/containerd-shim-process.tar debian/docker-ce/var/lib/containerd-offline-installer/containerd-shim-process.tar
|
||||
install -D -m 0644 /containerd-shim-process-v1 debian/docker-ce/usr/sbin/containerd-shim-process-v1
|
||||
install -D -m 0644 /sources/engine.tar debian/docker-ce/var/lib/docker-engine/engine.tar
|
||||
install -D -m 0644 /sources/docker.service debian/docker-ce/lib/systemd/system/docker.service
|
||||
install -D -m 0644 /sources/dockerd.json debian/docker-ce/etc/containerd-proxy/dockerd.json
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
ARG GO_IMAGE
|
||||
ARG CONTAINERD_SHIM_PROCESS_IMAGE
|
||||
FROM ${GO_IMAGE} as golang
|
||||
FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process
|
||||
|
||||
FROM debian:buster
|
||||
|
||||
@@ -26,6 +28,7 @@ ENV DISTRO debian
|
||||
ENV SUITE buster
|
||||
|
||||
COPY --from=golang /usr/local/go /usr/local/go
|
||||
COPY --from=shim-process /bin/containerd-shim-process-v1 /containerd-shim-process-v1
|
||||
|
||||
WORKDIR /root/build-deb
|
||||
COPY build-deb /root/build-deb/build-deb
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
ARG GO_IMAGE
|
||||
ARG CONTAINERD_SHIM_PROCESS_IMAGE
|
||||
FROM ${GO_IMAGE} as golang
|
||||
FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process
|
||||
|
||||
FROM debian:jessie
|
||||
|
||||
@@ -26,6 +28,7 @@ ENV DISTRO debian
|
||||
ENV SUITE jessie
|
||||
|
||||
COPY --from=golang /usr/local/go /usr/local/go
|
||||
COPY --from=shim-process /bin/containerd-shim-process-v1 /containerd-shim-process-v1
|
||||
|
||||
WORKDIR /root/build-deb
|
||||
COPY build-deb /root/build-deb/build-deb
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
ARG GO_IMAGE
|
||||
ARG CONTAINERD_SHIM_PROCESS_IMAGE
|
||||
FROM ${GO_IMAGE} as golang
|
||||
FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process
|
||||
|
||||
FROM debian:stretch
|
||||
|
||||
@@ -26,6 +28,7 @@ ENV DISTRO debian
|
||||
ENV SUITE stretch
|
||||
|
||||
COPY --from=golang /usr/local/go /usr/local/go
|
||||
COPY --from=shim-process /bin/containerd-shim-process-v1 /containerd-shim-process-v1
|
||||
|
||||
WORKDIR /root/build-deb
|
||||
COPY build-deb /root/build-deb/build-deb
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
ARG GO_IMAGE
|
||||
ARG CONTAINERD_SHIM_PROCESS_IMAGE
|
||||
FROM ${GO_IMAGE} as golang
|
||||
FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process
|
||||
|
||||
FROM resin/rpi-raspbian:jessie
|
||||
|
||||
@@ -26,6 +28,7 @@ ENV DISTRO raspbian
|
||||
ENV SUITE jessie
|
||||
|
||||
COPY --from=golang /usr/local/go /usr/local/go
|
||||
COPY --from=shim-process /bin/containerd-shim-process-v1 /containerd-shim-process-v1
|
||||
|
||||
WORKDIR /root/build-deb
|
||||
COPY build-deb /root/build-deb/build-deb
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
ARG GO_IMAGE
|
||||
ARG CONTAINERD_SHIM_PROCESS_IMAGE
|
||||
FROM ${GO_IMAGE} as golang
|
||||
FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process
|
||||
|
||||
FROM resin/rpi-raspbian:stretch
|
||||
|
||||
@@ -26,6 +28,7 @@ ENV DISTRO raspbian
|
||||
ENV SUITE stretch
|
||||
|
||||
COPY --from=golang /usr/local/go /usr/local/go
|
||||
COPY --from=shim-process /bin/containerd-shim-process-v1 /containerd-shim-process-v1
|
||||
|
||||
WORKDIR /root/build-deb
|
||||
COPY build-deb /root/build-deb/build-deb
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
ARG GO_IMAGE
|
||||
ARG CONTAINERD_SHIM_PROCESS_IMAGE
|
||||
FROM ${GO_IMAGE} as golang
|
||||
FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process
|
||||
|
||||
FROM ubuntu:bionic
|
||||
|
||||
@@ -26,6 +28,7 @@ ENV DISTRO ubuntu
|
||||
ENV SUITE bionic
|
||||
|
||||
COPY --from=golang /usr/local/go /usr/local/go
|
||||
COPY --from=shim-process /bin/containerd-shim-process-v1 /containerd-shim-process-v1
|
||||
|
||||
WORKDIR /root/build-deb
|
||||
COPY build-deb /root/build-deb/build-deb
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
ARG GO_IMAGE
|
||||
ARG CONTAINERD_SHIM_PROCESS_IMAGE
|
||||
FROM ${GO_IMAGE} as golang
|
||||
FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process
|
||||
|
||||
FROM ubuntu:trusty
|
||||
|
||||
@@ -26,6 +28,7 @@ ENV DISTRO ubuntu
|
||||
ENV SUITE trusty
|
||||
|
||||
COPY --from=golang /usr/local/go /usr/local/go
|
||||
COPY --from=shim-process /bin/containerd-shim-process-v1 /containerd-shim-process-v1
|
||||
|
||||
WORKDIR /root/build-deb
|
||||
COPY build-deb /root/build-deb/build-deb
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
ARG GO_IMAGE
|
||||
ARG CONTAINERD_SHIM_PROCESS_IMAGE
|
||||
FROM ${GO_IMAGE} as golang
|
||||
FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process
|
||||
|
||||
FROM ubuntu:xenial
|
||||
|
||||
@@ -26,6 +28,7 @@ ENV DISTRO ubuntu
|
||||
ENV SUITE xenial
|
||||
|
||||
COPY --from=golang /usr/local/go /usr/local/go
|
||||
COPY --from=shim-process /bin/containerd-shim-process-v1 /containerd-shim-process-v1
|
||||
|
||||
WORKDIR /root/build-deb
|
||||
COPY build-deb /root/build-deb/build-deb
|
||||
|
||||
@@ -15,7 +15,12 @@ DOCKERFILE=Dockerfile
|
||||
ifdef NEEDS_ARCH_SPECIFIC
|
||||
DOCKERFILE=Dockerfile.$(ARCH)
|
||||
endif
|
||||
BUILD?=docker build --build-arg GO_IMAGE=$(GO_IMAGE) -t rpmbuild-$@/$(ARCH) -f $@/$(DOCKERFILE) .
|
||||
BUILD?=docker build \
|
||||
--build-arg GO_IMAGE=$(GO_IMAGE) \
|
||||
--build-arg CONTAINERD_SHIM_PROCESS_IMAGE=$(CONTAINERD_SHIM_PROCESS_IMAGE) \
|
||||
-t rpmbuild-$@/$(ARCH) \
|
||||
-f $@/$(DOCKERFILE) \
|
||||
.
|
||||
|
||||
SPEC_FILES?=docker-ce.spec docker-ce-cli.spec
|
||||
SPECS?=$(addprefix SPECS/, $(SPEC_FILES))
|
||||
@@ -33,7 +38,7 @@ RUN?=$(RPMBUILD) rpmbuild-$@/$(ARCH) $(RPMBUILD_FLAGS)
|
||||
ENGINE_IMAGE=docker/engine-community
|
||||
ENGINE_SCOPE=ce
|
||||
|
||||
SOURCE_FILES=containerd-proxy.tgz cli.tgz containerd-shim-process.tar docker.service dockerd.json engine.tar
|
||||
SOURCE_FILES=containerd-proxy.tgz cli.tgz docker.service dockerd.json engine.tar
|
||||
SOURCES=$(addprefix rpmbuild/SOURCES/, $(SOURCE_FILES))
|
||||
|
||||
|
||||
@@ -102,13 +107,6 @@ rpmbuild/SOURCES/containerd-proxy.tgz:
|
||||
tar -zcf $@ -C tmp/ containerd-proxy
|
||||
rm -rf tmp/
|
||||
|
||||
rpmbuild/SOURCES/containerd-shim-process.tar:
|
||||
$(CTR) content fetch $(CONTAINERD_SHIM_PROCESS_IMAGE)
|
||||
$(CTR) image export artifacts/containerd-shim-process.tar $(CONTAINERD_SHIM_PROCESS_IMAGE)
|
||||
mkdir -p $(@D)
|
||||
cp artifacts/containerd-shim-process.tar $@
|
||||
$(CHOWN) -R $(shell id -u):$(shell id -g) rpmbuild
|
||||
|
||||
rpmbuild/SOURCES/docker.service: ../systemd/docker.service
|
||||
mkdir -p $(@D)
|
||||
cp $< $@
|
||||
|
||||
@@ -5,9 +5,8 @@ Version: %{_version}
|
||||
Release: %{_release}%{?dist}
|
||||
Epoch: 2
|
||||
Source0: containerd-proxy.tgz
|
||||
Source1: containerd-shim-process.tar
|
||||
Source2: docker.service
|
||||
Source3: engine.tar
|
||||
Source1: docker.service
|
||||
Source2: engine.tar
|
||||
Summary: The open-source application container engine
|
||||
Group: Tools/Docker
|
||||
License: ASL 2.0
|
||||
@@ -64,14 +63,14 @@ popd
|
||||
%install
|
||||
# Install containerd-proxy as dockerd
|
||||
install -D -m 0755 %{_topdir}/BUILD/src/containerd-proxy/bin/containerd-proxy $RPM_BUILD_ROOT/%{_bindir}/dockerd
|
||||
install -D -m 0644 %{_topdir}/SOURCES/containerd-shim-process.tar $RPM_BUILD_ROOT/%{_sharedstatedir}/containerd-offline-installer/containerd-shim-process.tar
|
||||
install -D -m 0644 %{_topdir}/SOURCES/engine.tar $RPM_BUILD_ROOT/%{_sharedstatedir}/docker-engine/engine.tar
|
||||
install -D -m 0644 %{_topdir}/SOURCES/docker.service $RPM_BUILD_ROOT/%{_unitdir}/docker.service
|
||||
install -D -m 0644 %{_topdir}/SOURCES/dockerd.json $RPM_BUILD_ROOT/etc/containerd-proxy/dockerd.json
|
||||
install -D -m 0755 /containerd-shim-process-v1 $RPM_BUILD_ROOT/%{_sbindir}/containerd-shim-process-v1
|
||||
|
||||
%files
|
||||
/%{_bindir}/dockerd
|
||||
/%{_sharedstatedir}/containerd-offline-installer/containerd-shim-process.tar
|
||||
/%{_sbindir}/containerd-shim-process-v1
|
||||
/%{_sharedstatedir}/docker-engine/engine.tar
|
||||
/%{_unitdir}/docker.service
|
||||
/etc/containerd-proxy/dockerd.json
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
ARG GO_IMAGE
|
||||
ARG CONTAINERD_SHIM_PROCESS_IMAGE
|
||||
FROM ${GO_IMAGE} as golang
|
||||
FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process
|
||||
|
||||
FROM centos:7
|
||||
ENV DISTRO centos
|
||||
@@ -15,5 +17,6 @@ COPY SPECS /root/rpmbuild/SPECS
|
||||
RUN sed -i 's/altarch/centos/g' /etc/yum.repos.d/CentOS-Sources.repo
|
||||
RUN yum-builddep -y /root/rpmbuild/SPECS/*.spec
|
||||
COPY --from=golang /usr/local/go /usr/local/go/
|
||||
COPY --from=shim-process /bin/containerd-shim-process-v1 /containerd-shim-process-v1
|
||||
WORKDIR /root/rpmbuild
|
||||
ENTRYPOINT ["/bin/rpmbuild"]
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
ARG GO_IMAGE
|
||||
ARG CONTAINERD_SHIM_PROCESS_IMAGE
|
||||
FROM ${GO_IMAGE} as golang
|
||||
FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process
|
||||
|
||||
FROM fedora:27
|
||||
ENV DISTRO fedora
|
||||
@@ -13,5 +15,6 @@ RUN dnf install -y rpm-build rpmlint dnf-plugins-core
|
||||
COPY SPECS /root/rpmbuild/SPECS
|
||||
RUN dnf builddep -y /root/rpmbuild/SPECS/*.spec
|
||||
COPY --from=golang /usr/local/go /usr/local/go/
|
||||
COPY --from=shim-process /bin/containerd-shim-process-v1 /containerd-shim-process-v1
|
||||
WORKDIR /root/rpmbuild
|
||||
ENTRYPOINT ["/bin/rpmbuild"]
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
ARG GO_IMAGE
|
||||
ARG CONTAINERD_SHIM_PROCESS_IMAGE
|
||||
FROM ${GO_IMAGE} as golang
|
||||
FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process
|
||||
|
||||
FROM fedora:28
|
||||
ENV DISTRO fedora
|
||||
@@ -7,10 +9,12 @@ ENV SUITE 28
|
||||
ENV GOPATH /go
|
||||
ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin
|
||||
ENV AUTO_GOPATH 1
|
||||
ENV DOCKER_BUILDTAGS pkcs11 seccomp selinux
|
||||
ENV RUNC_BUILDTAGS seccomp selinux
|
||||
RUN dnf install -y rpm-build rpmlint dnf-plugins-core
|
||||
COPY SPECS /root/rpmbuild/SPECS
|
||||
RUN dnf builddep -y /root/rpmbuild/SPECS/*.spec
|
||||
COPY --from=golang /usr/local/go /usr/local/go/
|
||||
COPY --from=shim-process /bin/containerd-shim-process-v1 /containerd-shim-process-v1
|
||||
WORKDIR /root/rpmbuild
|
||||
ENTRYPOINT ["/bin/rpmbuild"]
|
||||
|
||||
@@ -6,9 +6,6 @@ After=network-online.target firewalld.service
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
# Install containerd-shim-process if it's not already installed
|
||||
ExecStartPre=/usr/libexec/containerd-offline-installer /var/lib/containerd-offline-installer/containerd-shim-process.tar docker.io/docker/containerd-shim-process
|
||||
|
||||
# the default is not to use systemd for cgroups because the delegate issues still
|
||||
# exists and systemd currently does not support the cgroup feature set required
|
||||
# for containers run by docker
|
||||
|
||||
Reference in New Issue
Block a user