Можно ли установить Google Cloud CLI в Alpine Linux без установки встроенной версии Python?Python

Программы на Python
Ответить
Anonymous
 Можно ли установить Google Cloud CLI в Alpine Linux без установки встроенной версии Python?

Сообщение Anonymous »

Обоснование проблемы
Я создаю образ докера Alpine Linux, который можно использовать в качестве (относительно) легкого образа CI. На этом изображении мне нужно установить интерфейс командной строки Google Cloud gcloud.
Я устанавливаю Python из моего файла Dockerfile следующим образом:

Код: Выделить всё

RUN apk add python3
В Alpine Linux 3.20 (от 2024/12/03) будет установлен Python 3.12.7. Установка какой-либо версии Python является необходимым условием даже для запуска сценария установки Google Cloud CLI.

Код: Выделить всё

/ # cat /etc/alpine-release
3.20.0
/ # python --version
Python 3.12.7
Google Cloud CLI утверждает, что совместим с Python 3.8–3.13 — исходный код на вкладке «Linux».
Я устанавливаю Google Cloud CLI с использованием такого сценария запускается изнутри создаваемого контейнера:

Код: Выделить всё

mkdir -p /usr/local/gcloud
curl -s https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz | tar -xz -C /usr/local/gcloud
/usr/local/gcloud/google-cloud-sdk/install.sh --quiet --usage-reporting false
Когда я запускаю этот скрипт как часть сборки образа Docker, я вижу следующее:

Код: Выделить всё

#17 8.452 Your current Google Cloud CLI version is: 502.0.0
#17 8.452 Installing components from version: 502.0.0
#17 8.452
#17 8.495 ┌─────────────────────────────────────────────────────────────────────────────┐
#17 8.495 │                     These components will be installed.                     │
#17 8.496 ├─────────────────────────────────────────────────────┬────────────┬──────────┤
#17 8.496 │                         Name                        │  Version   │   Size   │
#17 8.497 ├─────────────────────────────────────────────────────┼────────────┼──────────┤
#17 8.497 │ BigQuery Command Line Tool                          │      2.1.9 │  1.7 MiB │
#17 8.499 │ BigQuery Command Line Tool (Platform Specific)      │      2.1.8 │  < 1 MiB │
#17 8.501 │ Bundled Python 3.11 (Platform Specific)             │     3.11.9 │ 74.4 MiB │
#17 8.503 │ Cloud Storage Command Line Tool                     │       5.31 │ 11.3 MiB │
#17 8.504 │ Cloud Storage Command Line Tool (Platform Specific) │       5.30 │  < 1 MiB │
#17 8.506 │ Google Cloud CLI Core Libraries (Platform Specific) │ 2024.08.30 │  < 1 MiB │
#17 8.507 │ Google Cloud CRC32C Hash Tool (Platform Specific)   │      1.0.0 │  1.3 MiB │
#17 8.509 │ gcloud cli dependencies (Platform Specific)         │ 2021.04.16 │  < 1 MiB │
#17 8.510 └─────────────────────────────────────────────────────┴────────────┴──────────┘
Мое внимание привлекла строка ~75 МБ «Bundled Python 3.11». Я хотел бы запретить сценарию установки загружать и использовать встроенную версию Python. Возможно ли это?
Что я пробовал

Код: Выделить всё

--install-python false
Флаг
Когда я запускаю --help в скрипте, чтобы просмотреть параметры, мое внимание бросается в глаза:

Код: Выделить всё

/usr/local/gcloud/google-cloud-sdk/install.sh --help

# ....
--install-python INSTALL_PYTHON
(true/false) Attempt to install Python. MacOS only.
Конечно, этот флаг, похоже, ничего не делает в Alpine Linux (я все еще вижу, как сценарий установки загружает и устанавливает Python 3.11).
Настройка Переменная среды CLOUDSDK_PYTHON
После некоторого поиска в Google я попытался установить переменную среды CLOUDSDK_PYTHON в моем Dockerfile в двух способы:

Код: Выделить всё

ENV CLOUDSDK_PYTHON="/usr/bin/python"
ENV CLOUDSDK_PYTHON="/usr/bin/python3"
Ни то, ни другое не помогло (я все еще вижу сценарий установки, загружающий и устанавливающий Python 3.11).
Не решение для меня: контейнер Docker, предоставленный Google
h3>
Я понимаю, что Google предоставляет базовый образ, в котором уже установлен интерфейс командной строки gcloud. По причинам, которые не полностью соответствуют основной сути этого вопроса, я не могу использовать это, чтобы обойти эту проблему. Мне нужно использовать другой базовый образ Alpine Linux.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -it-instal
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»