基于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 build
和docker-compose up
做工精细,但数据库ronda
未创建。