-
Notifications
You must be signed in to change notification settings - Fork 145
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor centos-7 Dockerfile for multi-stage
Also moved package deps into spec file BuildRequires. Had to hard-code Epoch in spec file in order to realize deps with yum-builddep. Signed-off-by: Andrew Hsu <[email protected]>
- Loading branch information
Showing
3 changed files
with
31 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,21 @@ | ||
FROM arm64v8/centos:7 | ||
RUN yum groupinstall -y "Development Tools" | ||
RUN yum -y swap -- remove systemd-container systemd-container-libs -- install systemd systemd-libs | ||
RUN yum install -y \ | ||
glibc-static \ | ||
btrfs-progs-devel \ | ||
device-mapper-devel \ | ||
libseccomp-devel \ | ||
libselinux-devel \ | ||
libtool-ltdl-devel \ | ||
selinux-policy-devel \ | ||
systemd-devel \ | ||
pkgconfig \ | ||
tar \ | ||
git \ | ||
cmake \ | ||
rpmdevtools \ | ||
vim-common | ||
|
||
FROM alpine:latest as golang | ||
RUN apk add curl | ||
ARG GO_VERSION | ||
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-arm64.tar.gz" | tar xzC /usr/local | ||
|
||
FROM centos:7 | ||
ENV DISTRO centos | ||
ENV SUITE 7 | ||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-arm64.tar.gz" | tar xzC /usr/local | ||
RUN mkdir -p /go | ||
ENV GOPATH=/go | ||
ENV PATH $PATH:/usr/local/go/bin:/go/bin | ||
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 mkdir -p /go/src/github.com/docker && mkdir -p /go/src/github.com/opencontainers | ||
COPY docker-ce.spec /root/rpmbuild/SPECS/docker-ce.spec | ||
RUN yum install -y rpm-build rpmlint | ||
RUN rpmlint /root/rpmbuild/SPECS/docker-ce.spec # make sure spec file is ok before installing build deps | ||
RUN yum-builddep -y /root/rpmbuild/SPECS/docker-ce.spec # this always exits 0 so need to rpmlint before running | ||
RUN mkdir -p /go/src/github.com/docker /go/src/github.com/opencontainers | ||
COPY --from=golang /usr/local/go /usr/local/go/ | ||
WORKDIR /root/rpmbuild | ||
ENTRYPOINT ["/bin/rpmbuild"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,21 @@ | ||
FROM centos:7 | ||
RUN yum groupinstall -y "Development Tools" | ||
RUN yum -y swap -- remove systemd-container systemd-container-libs -- install systemd systemd-libs | ||
RUN yum install -y \ | ||
glibc-static \ | ||
btrfs-progs-devel \ | ||
device-mapper-devel \ | ||
libseccomp-devel \ | ||
libselinux-devel \ | ||
libtool-ltdl-devel \ | ||
selinux-policy-devel \ | ||
systemd-devel \ | ||
pkgconfig \ | ||
tar \ | ||
git \ | ||
cmake \ | ||
rpmdevtools \ | ||
vim-common | ||
|
||
FROM alpine:latest as golang | ||
RUN apk add curl | ||
ARG GO_VERSION | ||
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local | ||
|
||
FROM centos:7 | ||
ENV DISTRO centos | ||
ENV SUITE 7 | ||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local | ||
RUN mkdir -p /go | ||
ENV GOPATH=/go | ||
ENV PATH $PATH:/usr/local/go/bin:/go/bin | ||
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 mkdir -p /go/src/github.com/docker && mkdir -p /go/src/github.com/opencontainers | ||
COPY docker-ce.spec /root/rpmbuild/SPECS/docker-ce.spec | ||
RUN yum install -y rpm-build rpmlint | ||
RUN rpmlint /root/rpmbuild/SPECS/docker-ce.spec # make sure spec file is ok before installing build deps | ||
RUN yum-builddep -y /root/rpmbuild/SPECS/docker-ce.spec # this always exits 0 so need to rpmlint before running | ||
RUN mkdir -p /go/src/github.com/docker /go/src/github.com/opencontainers | ||
COPY --from=golang /usr/local/go /usr/local/go/ | ||
WORKDIR /root/rpmbuild | ||
ENTRYPOINT ["/bin/rpmbuild"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,6 +17,15 @@ Packager: Docker <[email protected]> | |
%global is_systemd 1 | ||
%global with_selinux 1 | ||
|
||
BuildRequires: make | ||
BuildRequires: cmake | ||
BuildRequires: gcc | ||
BuildRequires: git | ||
BuildRequires: glibc-static | ||
BuildRequires: libtool-ltdl-devel | ||
BuildRequires: libseccomp-devel | ||
BuildRequires: device-mapper-devel | ||
BuildRequires: btrfs-progs-devel | ||
BuildRequires: pkgconfig(systemd) | ||
BuildRequires: pkgconfig(libsystemd-journal) | ||
|
||
|