python - 阿尔卑斯山上的 Azure Cli - 如何仅安装特定的 python 模块(否则它会非常庞大)
问题描述
我正在建立一个在 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 是巨大的。该层> 600Mb。我正在寻找一种让它更苗条的方法。我看到使用 python,可以只安装 azure cli 的某些包
pip install azure-cli-core
pip install azure-cli-acr
但如果我跑
az acr login
az
找不到可执行文件。我在任何地方都找不到有关如何仅安装特定模块的文档。
任何人都可以帮忙吗?
解决方案
推荐阅读
- javascript - 从 CSV 中的十六进制代码创建位图图像
- android - Android缩放和旋转动画不流畅,跳跃
- python - 按行 ID 比较多个日期列并在 python 或 pandas 中突出显示它们
- excel - 从现有数据构建 UPC 代码 - 保留前导零并消除数字之间的空格
- windows - 使用控制台选项 False 运行 PyInstaller 时,可执行文件出现纸浆错误
- jenkins - Jenkins 管道以成功结束,但没有执行任何阶段
- powershell - 在简单的 Format-list 命令后删除空行
- flask - Flask url_for() 不需要第二个参数,即使它是必需的
- python - Pygame屏幕显示黑色,使用Mac
- php - Illuminate\Database\QueryException 与消息'SQLSTATE [42P01]:未定义的表:7 错误:关系“联系人”不存在