Il est difficile de s'authentifier chaque fois que vous créez un nouveau conteneur, alors essayez de partager vos informations d'identification à l'aide d'un montage de volume. J'ai fait un volume pour chaque utilisateur.
Je souhaite créer un conteneur pour chaque projet, mais comme les informations d'authentification et les paramètres par défaut sont stockés sous .config / gcloud, si je monte et partage le volume, même le projet par défaut, etc. sera partagé entre les conteneurs.
https://github.com/kihi1215/gcloud-compose
Nous essayons diverses choses pour partager les informations utilisateur et séparer les informations du projet, et noter les détails dans le README de github.
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:
Lorsque vous utilisez config-b dans les conteneurs c2 et c3, utilisez correctement CLOUDSDK_ACTIVE_CONFIG_NAME
(Ne vous inquiétez pas de la construction à chaque fois)
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"]
Le fichier .repo est une copie de Official This.
Je pensais qu'il serait plus facile de développer des conteneurs individuels au lieu de les partager avec des montages de volume. Comme je l'ai écrit dans le README de github, si vous modifiez le réglage du répertoire dans la configuration utilisateur et que vous le montez là-bas, il semble que les dysfonctionnements dus à un partage simple et inattendu seront réduits. ..