当前位置:  开发笔记 > 后端 > 正文

Docker Postgres不在docker-entrypoint-initdb.d中运行初始化文件

如何解决《DockerPostgres不在docker-entrypoint-initdb.d中运行初始化文件》经验,为你挑选了0个好方法。

基于Docker的Postgres 文档,我可以在其中创建任何*.sql文件/docker-entrypoint-initdb.d并使其自动运行。

我有init.sql包含CREATE DATABASE ronda;

在我的docker-compose.yaml,我有

web:
  restart: always
  build: ./web
  expose:
    - "8000"
  links:
    - postgres:postgres
  volumes:
    - /usr/src/app/static
  env_file: .env
  command: /usr/local/bin/gunicorn ronda.wsgi:application -w 2 -b :8000

nginx:
  restart: always
  build: ./nginx/
  ports:
    - "80:80"
  volumes:
    - /www/static
  volumes_from:
    - web
  links:
    - web:web

postgres:
  restart: always
  build: ./postgres/
  volumes_from:
    - data
  ports:
    - "5432:5432"

data:
  restart: always
  build: ./postgres/
  volumes:
    - /var/lib/postgresql
  command: "true"

还有我的postgres Dockerfile,

FROM library/postgres

RUN mkdir -p /docker-entrypoint-initdb.d
COPY init.sql /docker-entrypoint-initdb.d/

运行docker-compose builddocker-compose up做工精细,但数据库ronda未创建。

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有