如何将 bacpac 文件恢复到 SQL 服务器 linux docker 容器?
How can I restore a bacpac file to SQL Server linux docker container?
我正在尝试为 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
我不需要对数据库的更改在容器的生命周期结束后仍然存在。我只需要编写脚本将数据放入其中。我对 docker 或 SQL 服务器 Linux 的使用经验不多。我假设我需要等待容器初始化和数据库设置并启动,然后执行一个脚本从 tmp 文件夹中读取数据库 bacpac。据我了解,我应该使用 sqlpackage,但这不是 appear to be in the container?我需要另一个装有 SSDT/sqlpackage 的容器吗?我可以将 splpackage 安装到容器中吗?
导入 bacpac 数据的最佳方法是什么?
此问题现已解决。 Microsoft 有一个适合 Linux 的 sql 包。这可以安装到自定义映像中。 https://docs.microsoft.com/en-us/sql/tools/sqlpackage?view=sql-server-2017
我正在尝试为 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
我不需要对数据库的更改在容器的生命周期结束后仍然存在。我只需要编写脚本将数据放入其中。我对 docker 或 SQL 服务器 Linux 的使用经验不多。我假设我需要等待容器初始化和数据库设置并启动,然后执行一个脚本从 tmp 文件夹中读取数据库 bacpac。据我了解,我应该使用 sqlpackage,但这不是 appear to be in the container?我需要另一个装有 SSDT/sqlpackage 的容器吗?我可以将 splpackage 安装到容器中吗?
导入 bacpac 数据的最佳方法是什么?
此问题现已解决。 Microsoft 有一个适合 Linux 的 sql 包。这可以安装到自定义映像中。 https://docs.microsoft.com/en-us/sql/tools/sqlpackage?view=sql-server-2017