|
1 | 1 | FROM docker:27.3.1 as static-docker-source |
2 | 2 |
|
3 | | -FROM alpine:3.20 as build_image |
4 | | -# install python 3.11 |
5 | | -RUN apk --no-cache upgrade && apk --no-cache add \ |
6 | | - curl \ |
7 | | - openssl-dev \ |
8 | | - zlib-dev \ |
9 | | - gcc \ |
10 | | - g++ \ |
11 | | - make \ |
12 | | - sqlite-dev \ |
13 | | - readline-dev \ |
14 | | - libffi-dev \ |
15 | | - && rm -rf /var/cache/apk/* \ |
16 | | - && curl -O https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tgz \ |
17 | | - && tar -xzf Python-3.11.9.tgz \ |
18 | | - && cd Python-3.11.9 \ |
19 | | - && ./configure --enable-optimizations \ |
20 | | - && make -j$(nproc) \ |
21 | | - && make altinstall \ |
22 | | - # && python3 --version \ |
23 | | - && python3.11 --version \ |
24 | | - && ln -sf /usr/local/bin/python3.11 /usr/bin/python3 \ |
25 | | - && rm -rf Python-3.11.9 \ |
26 | | - && rm -rf Python-3.11.9.tgz |
27 | | -RUN python3 --version && \ |
28 | | - python3 -m ensurepip --upgrade && \ |
29 | | - python3 -m pip install crcmod && \ |
30 | | - # apk add --no-cache musl-dev rust cargo && \ |
31 | | - python3 -m pip install pyOpenSSL && \ |
32 | | - python3 -m pip install cryptography && \ |
33 | | - rm -rf /root/.cache/pip && \ |
34 | | - find / -name '*.pyc' -delete && \ |
35 | | - find / -name '*__pycache__*' -exec rm -r {} \+ |
36 | | - |
37 | | -FROM alpine:3.20 |
| 3 | +FROM alpine:3.19 |
38 | 4 | ARG CLOUD_SDK_VERSION |
39 | 5 | ENV CLOUD_SDK_VERSION=$CLOUD_SDK_VERSION |
40 | 6 | ENV PATH /google-cloud-sdk/bin:$PATH |
41 | 7 | COPY --from=static-docker-source /usr/local/bin/docker /usr/local/bin/docker |
42 | 8 | COPY --from=static-docker-source /usr/local/libexec/docker/cli-plugins/docker-buildx /usr/local/libexec/docker/cli-plugins/docker-buildx |
43 | | -COPY --from=build_image /usr/local/lib/python3.11 /usr/local/lib/python3.11 |
44 | | -COPY --from=build_image /usr/bin/python3 /usr/bin/python3 |
45 | 9 | RUN addgroup -g 1000 -S cloudsdk && \ |
46 | 10 | adduser -u 1000 -S cloudsdk -G cloudsdk |
47 | 11 | RUN if [ `uname -m` = 'x86_64' ]; then echo -n "x86_64" > /tmp/arch; else echo -n "arm" > /tmp/arch; fi; |
48 | | -RUN export CLOUDSDK_PYTHON=/usr/local/bin/python3.11 |
49 | 12 | RUN ARCH=`cat /tmp/arch` && apk --no-cache upgrade && apk --no-cache add \ |
50 | 13 | curl \ |
51 | | - bash \ |
| 14 | + python3 \ |
| 15 | + py3-crcmod \ |
| 16 | + py3-openssl \ |
| 17 | + bash \ |
52 | 18 | libc6-compat \ |
53 | 19 | openssh-client \ |
54 | 20 | git \ |
55 | | - gnupg \ |
| 21 | + gnupg \ |
56 | 22 | && curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-${CLOUD_SDK_VERSION}-linux-${ARCH}.tar.gz && \ |
57 | 23 | tar xzf google-cloud-cli-${CLOUD_SDK_VERSION}-linux-${ARCH}.tar.gz && \ |
58 | 24 | rm google-cloud-cli-${CLOUD_SDK_VERSION}-linux-${ARCH}.tar.gz && \ |
59 | 25 | gcloud config set core/disable_usage_reporting true && \ |
60 | 26 | gcloud config set component_manager/disable_update_check true && \ |
61 | 27 | gcloud config set metrics/environment docker_image_alpine && \ |
62 | | - gcloud --version && \ |
63 | | - rm -rf /root/.cache/pip && \ |
64 | | - find / -name '*.pyc' -delete && \ |
65 | | - find / -name '*__pycache__*' -exec rm -r {} \+ |
66 | | - #python3.12 --version |
67 | | - |
| 28 | + gcloud --version |
68 | 29 | RUN git config --system credential.'https://source.developers.google.com'.helper gcloud.sh |
69 | 30 | VOLUME ["/root/.config"] |
70 | | - |
0 commit comments