es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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).

  1. La aplicación en sí
  2. Base de datos – SQL Peoje
  3. 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

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para implementar su solución en la plataforma de Google Cloud, puede seguir estos pasos:

    1. En primer lugar, debe crear una cuenta en Google Cloud y configurar su proyecto allí.
    2. 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:

    docker-compose build
    docker tag <nombre-de-imagen> gcr.io/<id-de-proyecto>/<nombre-de-imagen>
    docker push gcr.io/<id-de-proyecto>/<nombre-de-imagen>
    
    1. Ahora debe crear una implementación y servicio Kubernetes para su contenedor. Puede usar Kubernetes Engine o Cloud Run para este propósito. Kubernetes Engine es un servicio de Kubernetes completamente administrado, mientras que Cloud Run es una plataforma de contenedores sin servidor.

    Para crear una implementación y servicio Kubernetes en Kubernetes Engine, puede utilizar el siguiente comando:

    kubectl create deployment <nombre-de-implementación> --image=gcr.io/<id-de-proyecto>/<nombre-de-imagen> --port=<puerto-de-contenedor>
    kubectl expose deployment <nombre-de-implementación> --type=LoadBalancer --port=<puerto-de-contenedor> --target-port=<puerto-de-contenedor>
    

    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:

    gcloud beta run deploy <nombre-de-servicio> --image=gcr.io/<id-de-proyecto>/<nombre-de-imagen> --platform=managed --allow-unauthenticated
    

    Reemplazando <nombre-de-servicio>, <nombre-de-imagen> e <id-de-proyecto> con los valores apropiados.

    1. Una vez que se crean la implementación y el servicio, puede acceder a su solución utilizando la dirección IP externa proporcionada por el servicio LoadBalancer en caso de Kubernetes Engine o la URL proporcionada por Cloud Run.

    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>

Comments are closed.