Construcción de Imágenes de Contenedor

4/8
Recursos
Transcripción

Aportes 5

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Preparando los archivos fuente

quickstart.sh
Para hacer ejecutable el script chmod +x quickstart.sh

echo "Hola mundo!"

Dockerfile

FROM alpine
COPY quickstart.sh /
CMD ["/quickstart.sh"]

Crear un repo de Docker en Artifact Registry

gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \
--location=us-central1 --description="Docker repository"

Para verificar que el repo se creo:

gcloud artifacts repositories list

Construyendo la imagen usando Docker

El project-id se puede obtener con el comando gcloud config ger-value project

gcloud builds submit --tag us-central1-docker.pkg.dev/project-id/quickstart-docker-repo/quickstart-image:tag1

Construyendo usando un build config file

cloudbuild.yaml
El $PROJECT_ID se puede obtener con el comando gcloud config ger-value project

steps:
- name: 'gcr.io/cloud-builders/docker'
  args: [ 'build', '-t', 'us-central1-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ]
images:
- 'us-central1-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'

Para ejecutar el cloudbuild.yaml usamos:

gcloud builds submit --config cloudbuild.yaml

En Cloud Build bajo Build history podemos ver los archivos que se han compilado con el comando anterior.

Les comparto este enlace donde podemos ver la diferencia entre Artifact Registry y Container Registry

https://cloud.google.com/blog/products/application-development/understanding-artifact-registry-vs-container-registry

Genial el laboratorio, borre las imagenes Docker y ejecute varias veces los comandos de creacion, quitando el Dockerfile me di cuenta que no se debe quitar porque es dependencia. Estos archivos de configuracion aseguran y minimizan el error. Y solo corremos un comando yaml con todos los parametros de configuracion y listo. Excelente carlos. Gracias

El Cloud Build automaticamente reemplaza $PROJECT\_ID con el ID de nuestro proyecto.

Increíble 🤟