Docker-compose с использованием SQL Server и .NET Core - PullRequest
0 голосов
/ 06 июля 2019

Я ищу способ Dockerize моего проекта.Я использую docker compose, чтобы поместить базу данных в тот же контейнер

Вот мой Dockerfile:

FROM microsoft/dotnet:2.2-sdk
COPY . /app
WORKDIR /app
RUN ["dotnet", "restore"]
RUN ["dotnet", "build"]
EXPOSE 80/tcp
RUN chmod +x ./entrypoint.sh
CMD /bin/bash ./entrypoint.sh

Файл entrypoint.sh:

#!/bin/bash

set -e
run_cmd="dotnet run --server.urls http://*:80"

until dotnet ef database update --project OnSeRassure.Persistence --startup-project OnSeRassure.Web; do
>&2 echo "SQL Server is starting up"
sleep 1
done

>&2 echo "SQL Server is up - executing command"
exec $run_cmd

Иdocker-compose.yml

version: "3"
services:
    web:
        build: .
        ports:
            - "8000:80"
        depends_on:
            - db
    db:
        image: "mcr.microsoft.com/mssql/server"
        environment:
            SA_PASSWORD: "MyStrongPassword1!"
            ACCEPT_EULA: "Y"
       # volumes:
           # - /backup/mssql:/private/opt/mssql

Я использовал этот быстрый старт для создания этих файлов: https://www.quickstart.com

Когда я запускаю docker-compose up У меня появляется эта ошибка

No project was found. Change the current working directory or use the --project option. 

Есть идеи?

Вот моя архитектура проекта:

architecture

DBContext и миграции находятся в OnSeRassure.Persistence и при запускепроект OnSeRassure.Web

...