我有垃圾桶.我想用docker compose加载的sql文件.

docker compose .yml:

services:
  postgres:
    environment:
      POSTGRES_DB: my_db_name
      POSTGRES_USER: my_name
      POSTGRES_PASSWORD: my_password
    build:
      context: .
      dockerfile: ./devops/db/Dockerfile.db

我的Dockerfile.db目前非常简单:

FROM postgres
MAINTAINER me <me@me.me>

COPY ./devops/db ./devops/db
WORKDIR ./devops/db

我想在某个时候运行一个命令,比如psql my_db_name < dump.sql.如果我从Dockerfile运行这样的脚本.问题是脚本在构建之后但在docker-compose up之前运行,而数据库还没有运行.

知道怎么做吗?

推荐答案

阅读https://hub.docker.com/_/postgres/,"扩展此图像"一节解释了任何./docker入口点initdb中的sql.d将在构建后执行.

我只需要更改我的Dockerfile.至db:

FROM postgres

ADD ./devops/db/dummy_dump.sql /docker-entrypoint-initdb.d

而且很有效!

Postgresql相关问答推荐

PostgreSQL解释分析实际时间不加总

在SqlalChemy中转义动态CamelCase场

列不明确

如何在PostgreSQL中 Select 最近30天内的开始日期?

是否可以在 postgres jsonb 列中的列表上创建索引

在 Age Viewer 上看不到 node 的第一个属性

在 PostgreSQL 中提高 GROUP BY ... HAVING COUNT(...) > 1 的性能

Postgres 低估了导致错误查询计划的行数

Postgres内部如何计算月份间隔

用于生产的 Rails 性能调优?

Rails Migration 使用转换将字符串转换为整数

Postgresql JSONB 来了.现在用什么?Hstore?JSON?EAV?

保存 geodjango PointField 时出错

在 Postgresql 中获取星期几

Postgres 中的相似函数与 pg_trgm

django.db.utils.IntegrityError:duplicate key value violates unique constraint "django_content_type_pkey"

SQL - 提示引用列

如何使用 Django Migrations 重新创建已删除的表?

docker postgres 无法从指定端口启动

如何为本地 Rails 元素设置 Postgres 数据库?