-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Description
Users frequently face issues while installing Azure CLI on Alpine Linux docker containers (#7437, #8863, #9167, #4352) , this issue serves as an official installation guide. We will consider moving it to the How to install the Azure CLI official document if it is proven to be useful.
Azure CLI official docker image
The official Azure CLI docker image is built upon Alpine Linux. We recommend using it whenever possible. You may also take the Dockerfile as a reference.
Install Azure CLI step-by-step
Select base image
python:alpine
The official Python docker image is preferred as the base image.
$ docker run -it --rm python:alpine shalpine
If you would like to use the original official Alpine docker image, you need to install pip and python:
$ docker run -it --rm alpine
# apk add py3-pipInstall dependencies
As Alpine Linux is not manylinux2010 (or greater) compatible, using pip to install libraries like cryptography will fail without underlying dependencies. Install dependencies with:
# apk add gcc musl-dev python3-dev libffi-dev openssl-dev cargo makeSee https://cryptography.io/en/latest/installation/#building-cryptography-on-linux
Install Azure CLI
Simply upgrade pip and use pip to install Azure CLI:
# pip install --upgrade pip
# pip install azure-cliUse Dockerfile
Here are the Dockerfiles you may use as a starting point:
Create Dockerfile
python:alpine as base image
FROM python:alpine
RUN apk add gcc musl-dev python3-dev libffi-dev openssl-dev cargo make
RUN pip install --upgrade pip
RUN pip install azure-cli
CMD shalpine as base image
FROM alpine
RUN apk add py3-pip
RUN apk add gcc musl-dev python3-dev libffi-dev openssl-dev cargo make
RUN pip install --upgrade pip
RUN pip install azure-cli
CMD shBuild the image
$ docker build --tag azure-cli-alpine-test .Run az commands
$ docker run -it --rm azure-cli-alpine-test az --version