У меня есть следующее docker-compose.yml
:
version: '3.4'
services:
# bla bla bla
pg:
image: postgres:9.6
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD:
POSTGRES_DB: just_db
volumes:
pgdata:
И следующий Dockerfile:
FROM microsoft/dotnet:2.2-sdk AS build
WORKDIR /src
COPY . .
RUN dotnet publish ./src/WebApp/WebApp.csproj -c Release -o /app
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS final
WORKDIR /app
EXPOSE 80
COPY --from=build /app .
ENTRYPOINT ["dotnet"]
CMD ["WebApp.dll"]
Как я читаю, если я установил POSTGRES_USER
, POSTGRES_PASSWORD
и POSTGRES_DB
переменные в docker-compose.yml
дБ будут созданы. И sql скрипты из папки docker-entrypoint-initdb.d
будут выполнены. Я ожидаю, что база данных just_db
будет создана после запуска docker-compose up --build
, но этого не произойдет. Как мне создать базу данных с docker-comose
?