简体   繁体   English

如何在 python docker 图像上安装 azure-cli

[英]How to install azure-cli on python docker image

I am trying to install azure-cli in a python docker container but I get the following error:我正在尝试在python docker 容器中安装azure-cli ,但出现以下错误:

[5/5] RUN pip3 install azure-cli: [5/5] 运行 pip3 安装 azure-cli:
#9 1.754 Collecting azure-cli #9 1.754 收集 azure-cli
#9 1.956 Downloading azure_cli-2.43.0-py3-none-any.whl (4.3 MB) #9 1.956 下载 azure_cli-2.43.0-py3-none-any.whl (4.3 MB)
#9 7.885 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 730.7 kB/s eta 0:00:00 #9 7.885 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━4.7.3/3/3/3/3预计于 0:00:00
#9 8.070 Collecting six>=1.10.0 #9 8.070 收集六>=1.10.0
#9 8.190 Downloading six-1.16.0-py2.py3-none-any.whl (11 kB) #9 8.227 Collecting azure-loganalytics~=0.1.0. #9 8.190 下载 six-1.16.0-py2.py3-none-any.whl (11 kB) #9 8.227 收集 azure-loganalytics~=0.1.0。 . . . . #9 43.08 ERROR: Exception: . #9 43.08 错误:异常:。 . . . . #9 43.08 raise IncompleteRead(self._fp_bytes_read, self.length_remaining) #9 43.08 File "/usr/local/lib/python3.7/contextlib.py", line 130, in exit #9 43.08 self.gen.throw(type, value, traceback) #9 43.08 File "/usr/local/lib/python3.7/site-packages/pip/_vendor/urllib3/response.py", line 449, in _error_catcher #9 43.08 raise SSLError(e) #9 43.08 pip._vendor.urllib3.exceptions.SSLError: [SSL: KRB5_S_TKT_NYV] unexpected eof while reading (_ssl.c:2570) #9 43.28 WARNING: You are using pip version 22.0.4; #9 43.08 raise IncompleteRead(self._fp_bytes_read, self.length_remaining) #9 43.08 文件“/usr/local/lib/python3.7/contextlib.py”,第 130 行,在出口#9 43.08 self.gen.throw(type ,值,回溯)#9 43.08 文件“/usr/local/lib/python3.7/site-packages/pip/_vendor/urllib3/response.py”,第 449 行,在 _error_catcher #9 43.08 raise SSLError(e) # 9 43.08 pip._vendor.urllib3.exceptions.SSLError: [SSL: KRB5_S_TKT_NYV] 阅读时意外的 eof (_ssl.c:2570) #9 43.28 警告:您正在使用 pip 版本 22.0.4; however, version 22.3.1 is available.但是,版本 22.3.1 可用。 #9 43.28 You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command. #9 43.28 您应该考虑通过“/usr/local/bin/python -m pip install --upgrade pip”命令进行升级。


executor failed running [/bin/sh -c pip3 install azure-cli]: exit code: 2执行程序运行失败 [/bin/sh -c pip3 install azure-cli]:退出代码:2

And here's my Dockerfile这是我的Dockerfile

FROM python:3.7-alpine

RUN apk add --update git bash curl unzip make coreutils openssh shadow

ARG TERRAFORM_VERSION="1.3.6"
ARG svgUserId=
ENV AZURE_DEFAULT_REGION=germanywestcentral

RUN if ! id $svgUserId; then \
    adduser svg -D &&\
    usermod -u ${svgUserId} svg; \
  fi

RUN curl https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip > terraform_${TERRAFORM_VERSION}_linux_amd64.zip && \
  unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip -d /bin && \
  rm -f terraform_${TERRAFORM_VERSION}_linux_amd64.zip

RUN pip3 install azure-cli

ENTRYPOINT []

Can someone help me find the issue?有人可以帮我找到问题吗?

Use below commands to install azure-cli in alpine image:使用以下命令在 alpine 映像中安装 azure-cli

RUN apk add --no-cache --update python3 py3-pip 
RUN apk add --no-cache --update --virtual=build gcc musl-dev python3-dev libffi-dev openssl-dev cargo make && pip3 install --no-cache-dir --prefer-binary azure-cli && apk del virtual

As you use Python alpine image, the first RUN command is redundant in your case.当您使用 Python 高山图像时,第一个RUN命令在您的情况下是多余的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM