我正在建立一条在kubernetes上运行的cicd管道。图像生成器是kaniko
,它必须推送到azure acr
因此,我使用以下dockerfile设置了一个kaniko
+azure cli
映像:
FROM gcr.io/kaniko-project/executor:latest as kaniko
FROM alpine:latest
COPY --from=kaniko /kaniko /kaniko
RUN ls /
ENV DOCKER_CONFIG /kaniko/.docker
ENV SSL_CERT_DIR=/kaniko/ssl/certs
ENV PATH $PATH:/kaniko
RUN mkdir -p /workspace
WORKDIR /workspace
ENV HOME /root
ENV USER root
RUN apk update && \
apk add --no-cache git bash py-pip openssh-client make && \
apk add --virtual=build gcc libffi-dev musl-dev openssl-dev python3-dev && \
pip --no-cache-dir install -U pip && \
pip --no-cache-dir install azure-cli && \
apk del --purge build && \
apk add --no-cache curl && \
docker-credential-gcr config --token-source=env && \
# Download kustomize
curl -sLO $(curl -s https://api.github.com/repos/kubernetes-sigs/kustomize/releases |\
grep "browser_download.*linux_amd64" |\
cut -d '"' -f 4 |\
sort -V |\
tail -n 1) && \
# Download kustomize sha256
curl -sLO $(curl -s https://api.github.com/repos/kubernetes-sigs/kustomize/releases |\
grep "checksums.txt" |\
cut -d '"' -f 4 |\
sort -V |\
tail -n 1) && \
# Verify kustomize sha256
(cat checksums.txt | grep linux_amd64 | sha256sum -c -w) && \
# Install kustomize
tar xzf ./kustomize* && \
chmod +x kustomize && \
mv kustomize /bin/kustomize && \
kustomize version && \
# Cleanup kustomize
rm checksums.txt && \
rm kustomize*.tar.gz
效果很好。但是python azure cli是巨大的。该层为>;600兆。我在想办法让它更苗条。我看到,使用python,可以只安装azure cli的某些包
pip install azure-cli-core
pip install azure-cli-acr
但如果我跑
az acr login
找不到az
可执行文件。我在任何地方都没有找到关于如何只安装特定模块的文档
有人能帮忙吗
目前没有回答
相关问题 更多 >
编程相关推荐