我试图让 docker 在数据库 my_database 下的 postgres 中构建模式。我使用 sql 文件和 docker initdb。问题是 docker 在名为 postgres 的数据库中创建表。我想知道如何让 docker 在不同的数据库中创建表。
我已经尝试添加 \c my_database。如果它在登录 postgres 时逐行读取它。我也考虑过写一个脚本,但觉得有一个更简单的解决方案。
任何帮助,将不胜感激。
Docker.yml
version: '3'
services:
webapp:
build: ./literate-app
command: nodemon -e vue,js,css start.js
ports:
- "3000:3000"
networks:
- literate-net
server:
build: ./readability-server
command: nodemon -L --inspect=0.0.0.0:5555 server.js
networks:
- literate-net
redis_db:
image: redis:alpine
networks:
- literate-net
postgresql:
image: 'bitnami/postgresql:latest'
volumes:
- ./schema.sql:/docker-entrypoint-initdb.d/schema.sql
- /bitnami
ports:
- "5432:5432"
networks:
- literate-net
environment:
- POSTGRESQL_USERNAME=my_user
- POSTGRESQL_PASSWORD=password123
- POSTGRESQL_DATABASE=my_database
networks:
literate-net:
driver: bridge
你改变了周围的东西并使用了运行,但是这次它没有构建任何表。