我正在尝试使用postgres和一些用户,架构和数据创建一个docker镜像 .

我不想使用docker-entrypoint-initdb.d,因为数据库将在docker run步骤中初始化,我希望在docker运行时我的所有数据都可用 . 所以我试图用一些用户,架构和数据构建一个图像,但我不能这样做 .

(我正在努力启动自动单元测试,启动我的docker postgres数据库 . 这样做的目的是避免数据初始化并为所有同事提供相同的docker数据库)

我已经阅读了一些关于VOLUMES,数据容器等的文档......但它没有提供一个独立的容器,我尝试了类似的东西,但启动我的容器时没有数据

FROM postgres的:9.4 RUN MKDIR -p的/ var / lib中/ PGDATA RUN CHOWN -R postgres的在/ var / lib中/ PGDATA ENV PGDATA的/ var / lib中/ PGDATA VOLUME的/ var / lib中/ PGDATA COPY init_database.sql / INIT / init_database . SQL运行/etc/init.d/postgresql的启动&& pg_createcluster RUN /etc/init.d/postgresql的启动&& 9.4主要--start用户postgres的\ PSQL --command “创建密码 '用户0' USER用户0;” USER root

谢谢你的帮助!