tôi đã sử dụng hầu hết các ví dụ trong một số hình thức (nhờ @KJoe), nhưng tôi đã phải làm một vài điều khác để thiết lập tất cả mọi thứ để gcloud
sẽ làm việc trong môi trường. Lưu ý rằng nó là một lợi thế để hạn chế số dòng (nó giới hạn các lớp cần thiết để kéo)
Dưới đây là một ví dụ hoàn chỉnh hơn về Dockerfile với gcloud
thiết lập và mở rộng hình ảnh circleCI:
FROM circleci/ruby:2.4.1-jessie-node-browsers
# user is circleci in the FROM image, switch to root for system lib installation
USER root
ENV CCI /home/circleci
ENV GTMP /tmp/gcloud-install
ENV GSDK $CCI/google-cloud-sdk
ENV PATH="${GSDK}/bin:${PATH}"
# do all system lib installation in one-line to optimize layers
RUN curl -sSL https://sdk.cloud.google.com > $GTMP && bash $GTMP --install-dir=$CCI --disable-prompts \
&& rm -rf $GTMP \
&& chmod +x $GSDK/bin/* \
\
&& chown -Rf circleci:circleci $CCI
# change back to the user in the FROM image
USER circleci
# setup gcloud specifics to your liking
RUN gcloud config set core/disable_usage_reporting true \
&& gcloud config set component_manager/disable_update_check true \
&& gcloud components install alpha beta kubectl --quiet
tôi sẽ thêm cho thuận tiện một chỉ thị ENV cho biến môi trường PATH: ENV $ PATH:/usr/local/gcloud/google-cloud-sdk/bin – Silviu
Tôi nghĩ bạn cần 'ENV PATH $ PATH:/usr/local/gcloud/google-cloud -sdk/bin' – Narek
Tôi nghĩ bây giờ bạn cần /usr/local/gcloud/google-cloud-sdk/install.sh --quiet (cần thêm cờ yên tĩnh để tránh bước thủ công) –