Die Authentifizierung ist jedes Mal mühsam, wenn Sie einen neuen Container erstellen. Versuchen Sie daher, Ihre Anmeldeinformationen mithilfe eines Volume-Mount freizugeben. Ich habe für jeden Benutzer ein Volume erstellt.
Ich möchte für jedes Projekt einen Container erstellen. Da jedoch sowohl Authentifizierungsinformationen als auch Standardeinstellungen unter .config / gcloud gespeichert sind, wird beim Bereitstellen und Freigeben des Volumes sogar das Standardprojekt usw. von den Containern gemeinsam genutzt.
https://github.com/kihi1215/gcloud-compose
Wir versuchen verschiedene Dinge, um Benutzerinformationen und separate Projektinformationen zu teilen und die Details in die README von github zu schreiben.
docker-compose.yml
version: '3'
services:
c1:
build: .
tty: true
volumes:
- config-a:/root/.config/gcloud
c2:
build: .
tty: true
volumes:
- config-b:/root/.config/gcloud
environment:
- CLOUDSDK_ACTIVE_CONFIG_NAME=default
c3:
build: .
tty: true
volumes:
- config-b:/root/.config/gcloud
environment:
- CLOUDSDK_ACTIVE_CONFIG_NAME=www
volumes:
config-a:
config-b:
Wenn Sie config-b in den Containern c2 und c3 verwenden, verwenden Sie "CLOUDSDK_ACTIVE_CONFIG_NAME" ordnungsgemäß (Mach dir keine Sorgen über das Bauen jedes Mal)
Dockerfile
FROM kihi1215/gcloud
LABEL maintainer="kihi"
RUN mv /root/.config/gcloud /root/.config/gcloud-old
CMD ["/bin/bash"]
kihi1215/gcloud Dockerfile
FROM centos:8
LABEL maintainer="kihi"
COPY google-cloud-sdk.repo /etc/yum.repos.d/
RUN dnf -y update && \
dnf -y install git && \
dnf -y install google-cloud-sdk && \
dnf clean all
WORKDIR /root
CMD ["/bin/bash"]
Die .repo-Datei ist eine Kopie von Official This.
Ich dachte, es wäre einfacher, einzelne Container zu vergrößern, als sie mit Volumen-Mounts zu teilen. Wie ich in der README von github geschrieben habe, scheint es, dass Fehlfunktionen aufgrund einfacher und unerwarteter Freigabe reduziert werden, wenn Sie die Einstellung des Verzeichnisses in der Benutzerkonfiguration ändern und dort einbinden. ..
Recommended Posts