Asp.Net + Docker + Mysql -> MySqlException: таблица 'calendario.AspNetUsers' не существует - PullRequest
2 голосов
/ 25 апреля 2019

Я пытаюсь "докеризировать" мой веб-сервер. Он работал нормально, нормально, но я не могу заставить его работать с docker-compose.

Dockerfile

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

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

FROM build AS publish
RUN dotnet publish "TokenLabCalendar.csproj" -c Release -o /app

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

докер-compose.yml

version: '3.4'

services:
  tokenlabcalendar:
    image: ${DOCKER_REGISTRY-}tokenlabcalendar
    build:
      context: .
      dockerfile: TokenLabCalendar/Dockerfile
    environment:
      - DBHOST:mysql
    depends_on:
      - mysql

  mysql:
    container_name: calendariodb
    image: mysql/mysql-server:latest
    restart: always
    volumes:
      - dbvol:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
    env_file:
      - secrets.env
volumes:
  appbuild:
  dbvol:

Каждый раз, когда я делаю запрос в базу данных, я получаю эту ошибку. В базе данных нет таблицы.

MySql.Data.MySqlClient.MySqlException (0x80004005): таблица calendario.AspNetUsers не существует ---> MySql.Data.MySqlClient.MySqlException (0x80004005): таблица calendario.AspNetUsers не существует

Я не знаю, нужно ли мне повторно запустить миграцию и обновить базу данных до ее запуска. Любая помощь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...