我第一次与Docker竞争。我已经使用此blog post在我的ASP.NET Core 3应用程序的Docker容器中创建数据库,该数据库也已部署在Docker容器中。
这是我的docker-compose.yml设置:
version: "3.4"
services:
birder:
build: .
ports:
- "8000:80"
custdb:
image: MyLocalRegistry:5000/custdb-image
build:
context: .
dockerfile: BirderDBDocker.txt
这成功地使我能够构建和运行应用程序和数据库。这是docker ps
命令的输出:
该应用程序成功连接,似乎已将记录添加到数据库中。但是他们在哪里?我可以通过SQL Server Management Studio连接到数据吗?如果是的话,怎么办?
(我可以将SQL MS连接到
本地主机,1433
服务器,但正在运行的应用程序中的数据未存储在该服务器上。
答案 0 :(得分:2)
根据https://hub.docker.com/_/microsoft-mssql-server中图像的官方文档:
您可以通过在主机上使用以下命令,使用容器内部的sqlcmd工具连接到SQL Server:
docker exec -it <container_id|container_name> /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P <your_password>
您还可以使用entrypoint.sh脚本中的工具来执行诸如创建数据库或登录名,附加数据库,导入数据或其他设置任务之类的操作。请参见使用entrypoint.sh脚本在一些数据中创建数据库和模式以及bcp的示例。 您可以使用主机或远程计算机上的各种命令行和GUI工具从容器外部连接到容器中的SQL Server实例。请参阅Linux上SQL Server文档中的Connect and Query主题。