Я пытаюсь, чтобы docker создал схему в postgres под базой данных my_database.Я использую файл sql и docker initdb.Проблема в том, что docker создает таблицы в базе данных, называемые postgres.Мне было интересно, как я смогу заставить докер создавать таблицы в другой базе данных.
Я уже пытался добавить \ 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
Я изменил ситуацию и использовал run, однако на этот раз он не создавал таблиц.