My docker -compose
database:
container_name: k4fntr_database
build: ./docker/postgres
restart: always
environment:
ENV: ${APP_ENV}
TESTING_DB: ${DB_DATABASE_TESTING}
POSTGRES_DB: ${DB_DATABASE}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_PASSWORD: ${DB_PASSWORD}
ports:
- "15432:5432"
volumes:
- ./docker/postgres/pg-data:/var/lib/postgresql/data:rw
networks:
- backend-network
Я хочу создать 2 дополнительные базы данных после сборки контейнера, но только если это локальная разработка.
Для этого я создал папка docker -entrypoint-initdb.d, которая содержит скрипт
#!/bin/bash
set -e
set -u
if [ "$ENV" == 'local' ]; then
(
echo "CREATE DATABASE $TESTING_DB OWNER $POSTGRES_USER;"
) | (export PGPASSWORD=$POSTGRES_PASSWORD && psql -h 127.0.0.1 -U $POSTGRES_USER)
fi
У меня также есть файл Docker, куда я копирую эту папку в контейнер
FROM postgres:10.5-alpine
COPY /docker-entrypoint-initdb.d/ /docker-entrypoint-initdb.d/
, но проблема в том, что это файл был скопирован без значений переменных.
Как передать эти переменные?