44 lines
1.5 KiB
Docker
44 lines
1.5 KiB
Docker
FROM ubuntu:18.04 as binarydownloader
|
|
ARG HELM_VERSION=v3.5.2
|
|
ARG KUSTOMIZE_VERSION=v4.0.5
|
|
ARG KUBE_VERSION=v1.16.4
|
|
ARG ETCD_VERSION=v3.3.11
|
|
RUN apt update && apt -y install wget curl
|
|
ADD ./hack /opt/hack/
|
|
|
|
RUN bash /opt/hack/build-scripts/get-helm.sh
|
|
RUN bash /opt/hack/build-scripts/get-kustomize.sh
|
|
RUN bash /opt/hack/build-scripts/get-etcd.sh
|
|
RUN bash /opt/hack/build-scripts/get-kubernetes.sh
|
|
|
|
|
|
FROM golang:1.13 as builder
|
|
ADD . /opt/kubesphere/
|
|
WORKDIR /opt/kubesphere/
|
|
RUN apt update && apt -y install sudo
|
|
RUN bash /opt/kubesphere/hack/install_kubebuilder.sh
|
|
COPY --from=binarydownloader /usr/local/kubernetes/server/bin/kube-apiserver /usr/local/kubebuilder/bin/kube-apiserver
|
|
COPY --from=binarydownloader /usr/local/kubernetes/server/bin/kubectl /usr/local/kubebuilder/bin/kubectl
|
|
COPY --from=binarydownloader /usr/local/bin/etcd /usr/local/kubebuilder/bin/etcd
|
|
RUN bash -c "source /opt/kubesphere/hack/init_env.sh && make ks-apiserver"
|
|
RUN bash -c "source /opt/kubesphere/hack/init_env.sh && make ks-controller-manager"
|
|
|
|
|
|
FROM alpine:3.11 as ks-apiserver
|
|
RUN apk add --no-cache ca-certificates
|
|
COPY --from=binarydownloader /usr/bin/helm /usr/bin/helm
|
|
COPY --from=builder /opt/kubesphere/bin/cmd/ks-apiserver /usr/local/bin/
|
|
|
|
EXPOSE 9090
|
|
|
|
CMD ["sh"]
|
|
|
|
FROM alpine:3.11 as ks-controller-manager
|
|
RUN apk add --no-cache ca-certificates
|
|
COPY --from=binarydownloader /usr/bin/helm /usr/bin/helm
|
|
COPY --from=binarydownloader /usr/bin/kustomize /usr/bin/kustomize
|
|
COPY --from=builder /opt/kubesphere/bin/cmd/controller-manager /usr/local/bin/
|
|
|
|
EXPOSE 8443 8080
|
|
|
|
CMD ["sh"] |