Как я могу восстановить 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