No es nada complicado, pero es importante que hay tres maneras diferentes de subir una imágen al repositorio de GCP.
Dockerfile
1. Crea o descarga un fichero Dockerfile
Con tu editor de texto favorito, o bien descargado de Dockerhub, sitúa el fichero Dockerfile en la carpeta que quieras.
2. Compila la imagen con Dockerfile
Cloud Build te permite compilar una imagen de Docker mediante un Dockerfile. No necesitas un archivo de configuración de compilación diferente.
Ejecuta el comando siguiente desde el directorio que contiene quickstart.sh y Dockerfile, en el que [PROJECT_ID] es tu ID del proyecto de GCP:
gcloud builds submit --tag gcr.io/[PROJECT_ID]/[IMAGE_NAME] .
Ejemplo:
gcloud builds submit --tag gcr.io/tg-gcp-project/rabbitmq .
YAML
- Crea un Dockerfile con la información que necesites.
- En el mismo directorio que contiene Dockerfile, crea un archivo llamado cloudbuild.yaml con los contenidos siguientes. Este archivo es tu archivo de configuración de compilación. A la hora de la compilación, Cloud Build reemplaza $PROJECT_ID con tu ID del proyecto de manera automática.
steps:
name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/rabbitmq2', '.' ]
images: 'gcr.io/$PROJECT_ID/rabbitmq2'
3. Comienza la compilación con la ejecución del comando siguiente:1 gcloud builds submit --config cloudbuild.yaml .
Nota
No omitas el «.» al final del comando anterior. Con “.”, se especifica que el código fuente se encuentra en el directorio de trabajo actual al momento de la compilación.
Imagen Local
Etiqueta la imagen local con el nombre del registro mediante el siguiente comando:
docker tag [SOURCE_IMAGE] [HOSTNAME]/[PROJECT-ID]/[IMAGE]
Envía la imagen etiquetada a Container Registry con el siguiente comando:
docker push [HOSTNAME]/[PROJECT-ID]/[IMAGE]
docker push [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
Problema resuelto!