Как отобразить объем БД в лазури - PullRequest
1 голос
/ 18 июня 2019

Я пытаюсь разместить приложение для нескольких контейнеров (web api + postgres db) в Azure, используя реестр контейнеров Azure в качестве источника изображения.

Это файл для создания докера, который я использую:

version: '3.4'

services:
  dockerapi:
    image: test.azurecr.io/pgdemo:1
    ports:
      - "1985:80"   

  postgresimage:
    image: postgres
    ports:
      - "5432"
    environment:
      POSTGRES_USER: "bloguser"
      POSTGRES_PASSWORD: "bloguser"
      POSTGRES_DB: "blogdb"
    volumes:
      - $./dbscripts/seed.sql :/docker-entrypoint-initdb.d/seed.sql
      - db-data:/var/lib/postgresql/data
volumes: 
   db-data:
      driver: local

Я следовал этой статье , чтобы разработать это приложение, и все прошло хорошо в локальной среде. Кажется, раздел volumes не подходит для файла docker-compose. Я попытался заменить . на WEBAPP_STORAGE_HOME, и все же исходные сценарии игнорируются, как видно из журналов Azure Conatainer:

Microsoft.EntityFrameworkCore.Database.Command [20102] 2019-06-18T07: 00: 20.279183157Z Не удалось выполнить команду DbCommand (41 мс) [Parameters = [], CommandType = 'Text', CommandTimeout = '30 '] 2019-06-18T07: 00: 20.279189958Z SELECT b.id, b.title, b.description 2019-06-18T07: 00: 20.279193958Z ОТ блога AS b 2019-06-18T07: 00: 20.298436041Z ГДЕ STRPOS (заголовок, название)> 0 2019-06-18T07: 00: 20.298452842Z Npgsql.PostgresException (0x80004005): 42P01: связь "блог" не существует 2019-06-18T07: 00: 20.298457842Z в Npgsql.NpgsqlConnector <> c__DisplayClass161_0 .. D.MoveNext () 2019-06-18T07: 00: 20.298462242Z --- Трассировка конца стека от предыдущего место, где было сгенерировано исключение --- 2019-06-18T07: 00: 20.298466242Z в Npgsql.NpgsqlConnector <> c__DisplayClass161_0 .. D.MoveNext () 2019-06-18T07: 00: 20.298478543Z --- Трассировка конца стека от предыдущего место, где было сгенерировано исключение --- 2019-06-18T07: 00: 20.298482943Z в Npgsql.NpgsqlDataReader.NextResult (логический асинхронный, логический isConsuming) 2019-06-18T07: 00: 20.298486743Z в Npgsql.NpgsqlDataReader.NextResult () 2019-06-18T07: 00: 20.298490643Z
в Npgsql.NpgsqlCommand.ExecuteDbDataReader (поведение CommandBehavior, Логическая асинхронность, отмена, взятие отмены, взятие) 2019-06-18T07: 00: 20.298494543Z в Npgsql.NpgsqlCommand.ExecuteDbDataReader (поведение CommandBehavior) 2019-06-18T07: 00: 20.298498343Z в System.Data.Common.DbCommand.ExecuteReader () 2019-06-18T07: 00: 20.298502143Z в Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute (IRelationalConnection соединение, DbCommandMethod executeMethod, IReadOnlyDictionary`2 parameterValues)

Правильный ли способ добавления томов данных в Azure?

1 Ответ

1 голос
/ 19 июня 2019

Чтобы добавить том данных для веб-приложения для контейнера в Azure, необходимо смонтировать путь в томе следующим образом:

version: '3.4'

services:
  dockerapi:
    image: test.azurecr.io/pgdemo:1
    ports:
      - "1985:80"   

  postgresimage:
    image: postgres
    ports:
      - "5432"
    environment:
      POSTGRES_USER: "bloguser"
      POSTGRES_PASSWORD: "bloguser"
      POSTGRES_DB: "blogdb"
    volumes:
      - ${WEBAPP_STORAGE_HOME}/dbscripts:/docker-entrypoint-initdb.d
      - db-data:/var/lib/postgresql/data
volumes: 
   db-data:
      driver: local

А затем установите переменную окружения WEBSITES_ENABLE_APP_SERVICE_STORAGE как True. Помните, это просто добавляет постоянный объем. Поэтому вам нужно скопировать файл seed.sql по пути через FTP / FTPS. Подробнее см. Добавить постоянное хранилище .

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