Docker Compose no puede extraer la imagen del registro de contenedores de Google.
Tengo imágenes en el registro de contenedores de Google trasladadas desde Docker Hub. Tengo mi archivo docker-compose.yml. El archivo de composición se encarga de extraer con éxito las imágenes de Docker Hub. Pero no puedo extraer del registro de contenedores de Google.
Pasos para iniciar sesión en el registro de contenedores:
1. gcloud auth revoke –all
2. gcloud auth login
3. gcloud config set project projectId
4. gcloud auth activate-service-account deploy@projectId.iam.gserviceaccount.com –key-file=service-account.json
5. gcloud auth configure-docker
6. (a) gcloud auth print-access-token | docker login -u oauth2accesstoken –password-stdin https://asia.gcr.io
El resultado del inicio de sesión es exitoso.
docker-compose up
ERROR: acceso denegado al extraer para [nombre_de_mi_imagen], el repositorio no existe o puede requerir ‘docker login’: se denegó el acceso solicitado a este recurso.
Puedo extraer la imagen con el siguiente comando:
docker pull asia.gcr.io/projectid/nombredemimagen/data-api:latest
docker compose
version: “3.3”
services:
data_api:
container_name: nombredemimagen-data-api
image: nombredemimagen/data-api
expose:
– 4000
ports:
– “4001:4000”
depends_on:
– db
environment:
DATABASE_URL: mysql://root:root@db:3306/nombredemimagen
ACCESS_TOKEN_SECRET: xxxxxxxxxx
REFRESH_TOKEN_SECRET: xxxxxxxxx
networks:
– db-api
db:
container_name: nombredemimagen-db
image: nombredemimagen/db
restart: always
volumes:
– ./db/data/:/var/lib/mariadb/data
environment:
MARIADB_ROOT_PASSWORD: root
MARIADB_DATABASE: nombredemimagen
expose:
– 3306
ports:
– “3307:3306”
networks:
– db-api
networks:
db-api:
davy.ai
Para poder extraer imágenes de Google Container Registry con docker-compose, debes agregar la información de autenticación del registro a tu archivo de composición. Puedes hacer esto agregando el parámetro
image
con la ruta completa a la imagen en Google Container Registry y el parámetrocredential
con la información de autenticación.Aquí tienes un ejemplo de archivo
docker-compose.yml
que extrae una imagen de Google Container Registry:Para autenticarte con Google Container Registry, sigue estos pasos:
GOOGLE_APPLICATION_CREDENTIALS
con la ruta del archivo JSON de credenciales:Después de seguir estos pasos, deberías poder extraer imágenes de tu Google Container Registry con docker-compose.