Как создать образ Dind Docker с помощью Azure-Cli на Alpine Linux?

Я пытаюсь установить Azure-Cli в dind:latest изображение на основе альпийского.

Для контекста я хочу использовать его для подключения к AKS и развертывания приложения в Kubernetes через Gitlab.

В моем gitlab-ci.yml файл, который я начинаю с этого

image: docker:latest
services:
  - docker:dind

а потом пытаюсь установить лазурь-кли

deploy-to-k8s--dev: # k8s namespace "dev"
  stage: deploy-to-k8s
#  image: microsoft/azure-cli
  script:
    # I need the azure cli in the dind:latest container
    # so install bash,curl and finally the cli
    - apk update
    - apk upgrade
    - apk add bash
    - apk add --no-cache curl

    - curl -L https://aka.ms/InstallAzureCli | bash
    - az

и я получаю следующую ошибку

$ curl -L https://aka.ms/InstallAzureCli | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   167  100   167    0     0    167      0  0:00:01 --:--:--  0:00:01   644

100  1367  100  1367    0     0   1367      0  0:00:01 --:--:--  0:00:01  1367
mktemp: Invalid argument
ERROR: Job failed: error executing remote command: command terminated with non-zero exit code: Error executing in Docker Container: 1

Это первый раз, когда я пытаюсь работать с Alpine Linux, и я понятия не имею, как он построен и какие инструменты он использует...

У кого-нибудь есть предложения?

РЕДАКТИРОВАТЬ

на основании принятого ответа это окончательный код, который работает

deploy-to-k8s--dev: # k8s namespace "dev"
  stage: deploy-to-k8s
  script:
    # I need the azure cli in the dind:latest container
    # so install bash,curl and finally the cli
    - apk update
    - apk upgrade
    - apk add bash make py-pip
    - apk add --virtual=build gcc libffi-dev musl-dev openssl-dev python2-dev
    - pip install azure-cli
    - apk del --purge build
    - az -h

2 ответа

Решение

Это помогло мне в моем альпийском образе

apk update, apk add bash py-pip, apk add --virtual=build gcc libffi-dev musl-dev openssl-dev python- dev, установка pip azure-cli, apk del --purge build

Соответствующая более новая версия /questions/5121892/kak-sozdat-obraz-dind-docker-s-pomoschyu-azure-cli-na-alpine-linux/5121903#5121903:

      apk add --no-cache --update python3 py3-pip
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==${AZURE_CLI_VERSION}
apk del build

* Удалите AZURE_CLI_VERSION, если вам нужна последняя версия.

Другие вопросы по тегам