Despliegue del contenedor principal de gcloud docker-compose (solución con subproyectos)
Desarrollé una solución. Esta solución consta de 3 proyectos. (Algunos documentos los llaman servicios, algunos los llaman contenedores, pero sabemos que estos son contenedores y subcontenedores para docker-compose).
- La aplicación en sí
- Base de datos – SQL Peoje
- Redis
Cuando construyo esta solución con docker-compose, puedo ver 3 imágenes bajo un contenedor común. Y de esta manera; funciona en mi entorno local con docker-compose build y up. Quiero implementar la solución tal como está (como el contenedor principal y subcontenedor) en Google Cloud. Intenté alrededor de 6-7 formas diferentes mientras leía los documentos para cargar el proyecto en el lado de Google. Pero no pude entender cuál es el ideal. En todas partes hay documentos, pero no escribieron un método simple y saludable.
Incluso con uno o dos métodos, cuando implemente. No da un error, parece que está funcionando, pero; Cuando abro la URL, da 404. De cualquier manera no sucedió así.
Aquí está el método ABC para proyectos pequeños que para proyectos grandes es un resumen. ¿Puede proporcionar información en la forma? Mi único objetivo es hacer que el contenedor con 3 servicios se ejecute allí. Por favor dame una dirección pura para este caso especial (pero no muy especial).
Bonus: puede dar definiciones reales y diferenciarlos de manera muy compleja gpc, engine, cloud run.
docker-compose.yaml
version: ‘3.4’
services:
cms:
image: ${DOCKER_REGISTRY-}cms
build:
context: .
dockerfile: Dockerfile
container_name: ich_app
ports:
– “80:8080”
depends_on:
– db
db:
image: “mcr.microsoft.com/mssql/server”
container_name: ich_db
ports:
– “${DOCKER_SQL_PORT:-1433}:1433”
expose:
– 1433
environment:
– ACCEPT_EULA=Y
– MSSQL_PID=Express
– SA_PASSWORD=PassWORDD
volumes:
– C:\db_backups\ichte:/usr/share/
depends_on:
– redis
redis:
container_name: ich_redis
image: redis
davy.ai
Para implementar su solución en la plataforma de Google Cloud, puede seguir estos pasos:
Luego, debe generar y enviar imágenes Docker de los tres servicios a un registro de contenedores que la plataforma de Google Cloud pueda acceder. Puede usar Google Container Registry o cualquier otro registro de contenedores para este propósito. Puede utilizar los siguientes comandos para generar y enviar sus imágenes Docker al registro de contenedores de Google:
Para crear una implementación y servicio Kubernetes en Kubernetes Engine, puede utilizar el siguiente comando:
Reemplazando
<nombre-de-implementación>
,<nombre-de-imagen>
,<puerto-de-contenedor>
e<id-de-proyecto>
con los valores apropiados.Para crear un servicio Cloud Run, puede utilizar el siguiente comando:
Reemplazando
<nombre-de-servicio>
,<nombre-de-imagen>
e<id-de-proyecto>
con los valores apropiados.Respuesta adicional:
Google Cloud Platform (GCP): una plataforma de cómputo en la nube de Google que ofrece una amplia gama de servicios de cómputo en la nube, que incluyen cómputo, almacenamiento, redes, análisis de datos, inteligencia artificial y más.
Docker-compose: una herramienta para definir y ejecutar aplicaciones Docker multi-contenedor.
gcloud: una herramienta de línea de comandos para interactuar con la plataforma de Google Cloud.
Terraform-provider-gcp: un proveedor de Terraform para Google Cloud Platform que permite definir la infraestructura como código.
Kubernetes Engine: un servicio de Kubernetes completamente administrado para implementar y administrar aplicaciones en contenedores.
Cloud Run: una plataforma de contenedores sin servidor para ejecutar contenedores HTTP sin estado según la demanda.</nombre-de-implementación></nombre-de-implementación></nombre-de-implementación>