Как я могу восстановить BACPAC файл в Docker-контейнер Linux Server?

Я пытаюсь настроить среду тестирования интеграции для Docker. Нам нужно восстановить BACPAC к нашему mssql-server-linux:latest изображение, чтобы мы могли запускать тесты на основе набора данных.

Мой составной файл выглядит так:

version: '3'

services:
    projectweb:
        image: projectweb
        build:
            context: .
            dockerfile: Project\Dockerfile
        depends_on:
            - db
    db:
        image: "microsoft/mssql-server-linux"
        environment:
            SA_PASSWORD: "MyVerySecurePassword"
            ACCEPT_EULA: "Y"        
        volumes:
            - ./database:/tmp

Мне не нужно, чтобы изменения в базе данных сохранялись после срока службы контейнера. Мне просто нужно написать скрипт для получения данных. У меня нет большого опыта работы с докером или SQL Server для Linux. Я предполагаю, что мне нужно дождаться инициализации контейнера и установки и запуска БД, а затем выполнить скрипт, который считывает bacpac базы данных из папки tmp. Насколько я понимаю, я должен использовать sqlpackage, но это не в контейнере? Нужен ли мне другой контейнер с этим SSDT/sqlpackage в нем? Могу ли я установить пакет в упаковке?

Каков наилучший способ импортировать данные bacpac?

0 ответов

Теперь это было решено. У Microsoft есть подходящий пакет sql для Linux. Это может быть установлено в пользовательский образ. https://docs.microsoft.com/en-us/sql/tools/sqlpackage?view=sql-server-2017

Другие вопросы по тегам