如何在Ubuntu 18.04镜像的Dockerfile中安装指定版本Azure CLI
问题原因
- Ubuntu 18.04(代号
bionic)的默认APT源不包含Azure CLI,必须先添加微软官方的Azure CLI源才能通过apt-get安装。 - 你指定的版本号后缀是
~focal,这是Ubuntu 20.04的代号,和当前使用的18.04不匹配,导致APT无法定位对应版本的包。 - Dockerfile中
RUN命令默认以root用户执行,无需添加sudo,多余的sudo也可能引发执行问题。
解决办法
步骤1:添加Azure CLI官方APT源
在Dockerfile中先配置微软的官方源,确保APT能找到Azure CLI包:
# 安装依赖工具并添加Azure CLI官方源 RUN apt-get update \ && apt-get install -y ca-certificates curl apt-transport-https lsb-release gnupg \ && curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null \ && AZ_REPO=$(lsb_release -cs) \ && echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | tee /etc/apt/sources.list.d/azure-cli.list
步骤2:安装匹配版本的Azure CLI
更新源后,使用对应Ubuntu 18.04的版本号后缀~bionic安装。先通过apt list -a azure-cli确认可用的bionic版本(比如2.49.0对应的完整版本号应为2.49.0-1~bionic),再执行安装:
# 更新源并安装指定版本的Azure CLI RUN apt-get update \ && apt-get install -y --allow-downgrades azure-cli=2.49.0-1~bionic
关键注意点
- 版本号后缀必须与当前Ubuntu版本代号一致:18.04用
bionic,20.04用focal,不可混用。 - 全程无需
sudo,Docker的RUN命令默认以root权限执行。
内容的提问来源于stack exchange,提问作者Kqly
相关产品推荐
相关产品推荐

