Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

623
Vistas
¿Cómo restaurar la base de datos de Postgres en la ventana acoplable cuando el contenedor de la ventana acoplable no se inicia?

Quiero crear una base de datos en PostgreSQL y restaurar una copia de seguridad en un contenedor docker. Puedo crear la base de datos y ejecutar el contenedor docker, y luego ejecutar pg_restore para restaurar la copia de seguridad. Mi Dockerfile es:

 FROM postgres:latest ENV POSTGRES_USER postgres ENV POSTGRES_PASSWORD 123qwe ENV POSTGRES_DB docker_pg COPY createTable.sql /docker-entrypoint-initdb.d/ VOLUME /var/lib/postgresql/data

Luego ejecuto el comando para restaurar la copia de seguridad:

 docker exec -i 0d96d6b59d74 pg_restore -U postgres -d docker_pg< backup_latest.sql

Está funcionando bien.

Pero mi requisito es cuando ejecuto el comando para crear la creación de la base de datos del contenedor docker y restaurar la copia de seguridad, ambos trabajos realizados al mismo tiempo, es decir, en el momento de la creación del contenedor.

¿Cómo puedo hacer esto?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Pero mi requisito es cuando ejecuto el comando para crear la creación de la base de datos del contenedor docker y restaurar la copia de seguridad, ambos trabajos realizados al mismo tiempo, es decir, en el momento de la creación del contenedor.

El contenedor de Docker puede realizar ambas tareas; todo lo que necesita para colocar el script de restauración en la carpeta docker-entrypoint-initdb.d .

 COPY createTable.sql /docker-entrypoint-initdb.d/a_createTable.sql COPY backup_latest.sql /docker-entrypoint-initdb.d/

Como cambié createTable.sql a a_createTable.sql , primero creará Table y luego restaurará la copia de seguridad.

Estos archivos de inicialización se ejecutarán en orden de nombre ordenado según lo definido por la configuración regional actual

Guiones de inicialización

O la otra opción es crear un solo archivo SQL y el orden será

 ALL DDL # then ALL DML

así que algo como

 COPY db.sql /docker-entrypoint-initdb.d/
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda