Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

358
Visualizações
Obteniendo un error al ejecutar DockerFile para crear y restaurar un volcado con pg_restore

Mi archivo init.sql es:

 CREATE USER postgres WITH PASSWORD '123qwe'; CREATE DATABASE gmta_database ; GRANT ALL PRIVILEGES ON DATABASE gmta_database TO postgres;

Y DockerFile es:

 FROM postgres:latest COPY init.sql /docker-entrypoint-initdb.d/ ENV POSTGRES_USER postgres ENV POSTGRES_PASSWORD 123qwe ENV POSTGRES_DB docker_pg EXPOSE 5432 COPY test_latest.sql / VOLUME /var/lib/postgresql/data RUN pg_restore -U postgres -d docker_pg < test_latest.sql

Cuando ejecuto con el comando docker build -t gmta-test-vol:1.0.0 . , recibo un error como este:

 Sending build context to Docker daemon 358.4kB Step 1/7 : FROM postgres:latest ---> b97bae343e06 Step 2/7 : COPY init.sql /docker-entrypoint-initdb.d/ ---> Using cache ---> 6f275b44db01 Step 3/7 : ENV POSTGRES_USER postgres ---> Using cache ---> 039924093b36 Step 4/7 : ENV POSTGRES_PASSWORD 123qwe ---> Using cache ---> 5e636686a2f7 Step 5/7 : ENV POSTGRES_DB docker_pg ---> Using cache ---> 9c0a773c138c Step 6/7 : COPY gtma_latest.sql / ---> Using cache ---> 8dd99f79b403 Step 7/7 : RUN pg_restore -U postgres -d docker_pg < gtma_latest.sql ---> Running in 1e0a85650eb1 pg_restore: error: connection to database "docker_pg" failed: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Quiero crear la base de datos y restaurar los datos de volcado con un solo comando docker.

  1. ¿Cómo puedo resolver el problema?
  2. ¿Es posible EJECUTAR el comando pg_store sin crear el contenedor docker?

Por favor ayuda. Gracias por adelantado.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

No debe importar datos en el momento de la compilación, ya que el servidor de base de datos no está listo y esto no persistirá en la importación para la capa posterior.

Todo lo que necesitas para agregar esto

 COPY test_latest.sql /docker-entrypoint-initdb.d/

Si desea realizar una inicialización adicional en una imagen derivada de esta, agregue uno o más scripts *.sql, *.sql.gz, or *.sh en /docker-entrypoint-initdb.d (creando el directorio si es necesario ). Después de que el punto de entrada llame a initdb para crear el usuario y la base de datos de postgres predeterminados, ejecutará cualquier archivo *.sql , ejecutará cualquier secuencia de comandos *.sh ejecutable y generará cualquier secuencia de comandos * *.sh no ejecutable que se encuentre en ese directorio para realizar una inicialización adicional antes. iniciando el servicio.

inicio de postgres

¿Cómo puedo resolver el problema?

Simplemente coloque el archivo sql en /docker-entrypoint-initdb.d/ y el contenedor de Postgres se encargará de ello.

¿Es posible EJECUTAR el comando pg_store sin crear el contenedor docker?

No, coloque la copia en la compilación, creará una base de datos cada vez que se inicie el contenedor.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda