Skip to content

SQL Migration does not run in docker #2952

@dabagab

Description

@dabagab

Describe the bug

I have followed some articles to be able to use the aspnet core application with sql server.
Unfortunately the migration command does not run.

Steps to reproduce the issue

Provide steps for us to reproduce the issue

  1. Creating a new Asp.net Core 2.2 Web (MVC) project from the official template in the Visual Studio 2019.
  2. Adding Docker-Compose support to the project.
version: '3.4'

services:
  api:
    image: ${DOCKER_REGISTRY-}api
    build:
      context: .
      dockerfile: Api/Dockerfile
    depends_on:
      - db

  db:
    image: "mcr.microsoft.com/mssql/server"
    environment:
      SA_PASSWORD: "Your_password123"
      ACCEPT_EULA: "Y"

The Docker file was generated by Visual Studio. I inserted some line to run the entrypoint.sh

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
WORKDIR /src
COPY ["Api/Api.csproj", "Api/"]
RUN dotnet restore "Api/Api.csproj"
COPY . .
WORKDIR "/src/Api"
RUN dotnet build "Api.csproj" -c Release -o /app

FROM build AS publish
# Inserted lines
COPY ./entrypoint.sh ./app/
RUN chmod +x ./app/entrypoint.sh
CMD /bin/bash ./app/entrypoint.sh
RUN dotnet publish "Api.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "Api.dll"]

Entrypoint.sh is from the tutorial of docker page.

#!/bin/bash

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

until dotnet ef database update; do
>&2 echo "SQL Server is starting up"
sleep 1
done

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

Expected behavior

When I run the Docker-Compose project in VS 2019 then I expect the migration has run. But this is not happen.

Additional information

I did not find any official step-by-step tutorial.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions