Я создаю образ докера Alpine Linux, который можно использовать в качестве (относительно) легкого образа CI. На этом изображении мне нужно установить интерфейс командной строки Google Cloud gcloud.
Я устанавливаю Python из моего файла Dockerfile следующим образом:
Код: Выделить всё
RUN apk add python3
Код: Выделить всё
/ # cat /etc/alpine-release
3.20.0
/ # python --version
Python 3.12.7
Я устанавливаю 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
Код: Выделить всё
#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 └─────────────────────────────────────────────────────┴────────────┴──────────┘
Что я пробовал
Код: Выделить всё
--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.
Настройка Переменная среды CLOUDSDK_PYTHON
После некоторого поиска в Google я попытался установить переменную среды CLOUDSDK_PYTHON в моем Dockerfile в двух способы:
Код: Выделить всё
ENV CLOUDSDK_PYTHON="/usr/bin/python"
ENV CLOUDSDK_PYTHON="/usr/bin/python3"
Не решение для меня: контейнер Docker, предоставленный Google
h3>
Я понимаю, что Google предоставляет базовый образ, в котором уже установлен интерфейс командной строки gcloud. По причинам, которые не полностью соответствуют основной сути этого вопроса, я не могу использовать это, чтобы обойти эту проблему. Мне нужно использовать другой базовый образ Alpine Linux.
Подробнее здесь: https://stackoverflow.com/questions/792 ... -it-instal
Мобильная версия