在 Docker 里运行 Microsoft SQL 服务器

简介: 在 Docker 里运行 Microsoft SQL 服务器

链接:https://developers.sap.com/tutorials/cp-kyma-mssql-deployment.html


参考代码:https://github.com/SAP-samples/kyma-runtime-extension-samples


本地路径:C:\Code\referenceCode\SAP Kyma教程例子


This sample provides the MS SQL database configured with a sample DemoDB database which contains one Orders table populated with two rows of sample data.


这个例子展示了如何创建名为 DemoDB 的MSSQL 数据库,以及名为 Orders 的数据库表,以及两行测试数据。


The app/setup.sql file handles the generation of the database, table, and data.


app 文件夹下的 setup.sql 负责创建数据库,数据库表和测试数据。


image.png


Within the app/init-db.sh file, you can also configure the database user and password.


init-db.sh 文件用于配置数据库用户名和密码。

image.png

docker 文件夹

image.png

FROM:The FROM instruction initializes a new build stage and sets the Base Image for subsequent instructions. As such, a valid Dockerfile must start with a FROM instruction. The image can be any valid image – it is especially easy to start by pulling an image from the Public Repositories.

Dockerfile 用于创建 docker 镜像。最后一行命令,执行 app 文件夹下面的 entrypoint.sh 文件。


Build the Docker image

根据 Dockerfile 构建一个镜像:


进入如下文件夹:


C:\Code\referenceCode\SAP Kyma教程例子\database-mssql


执行命令行:


docker build -t i042416/mssql -f docker/Dockerfile .


image.png


注意,因为基于的镜像名称为 microsoft/mssql-server-linux, 故这个命令应该在 linux 操作系统里完成:

image.png

镜像成功制作完毕:

image.png

docker 镜像制作完毕后,上传到 docker hub:


docker push i042416/mssql


上传成功:

image.png


本地运行这个镜像:


sudo docker run -e ACCEPT_EULA=Y -e SA_PASSWORD=Yukon900 -p 1433:1433 --name sql1 -d i042416/mssql


进入镜像内部,打开 bash shell:


docker exec -it sql1 “bash”

image.png

Start the sqlcmd tool, which allows you to run queries against the database, by running this command: /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P Yukon900

输入如下 query 命令:

image.png

结果:成功读取到两条订单数据:

image.png

在 Docker 内部的 /usr/src/app 文件夹下,确实发现了我制作 docker 镜像时的文件:


image.png

Microsoft SQL 服务器,安装在 /opt 目录下:

image.pngimage.png

相关文章
|
1月前
|
前端开发 关系型数据库 MySQL
IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】
IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】
|
1月前
|
Oracle 关系型数据库 数据库
|
1月前
|
Java Shell Docker
Docker启动后怎样运行jar包文件
Docker启动后怎样运行jar包文件
|
2月前
|
弹性计算 开发框架 负载均衡
ECS配置问题之aspacess运行失败如何解决
ECS配置指的是对阿里云Elastic Compute Service(弹性计算服务)实例的硬件和软件资源进行设置的过程;本合集将详述如何选择合适的ECS配置、调整资源配比以及优化实例性能,以满足不同应用场景的需求。
|
1月前
|
前端开发 应用服务中间件 nginx
使用Docker快速搭建Web服务器Nginx
本文指导如何使用Docker快速搭建Nginx服务器。首先,通过`docker pull`命令获取Nginx镜像,然后以容器形式运行Nginx并映射端口。通过挂载目录实现本地文件与容器共享,便于自定义网页。使用`docker ps`检查运行状态,访问IP:8088确认部署成功。最后,介绍了停止、删除Nginx容器的命令,强调Docker简化了服务器部署和管理。
50 0
|
1月前
|
Linux 网络安全 Python
如何在服务器上运行python文件
如何在服务器上运行python文件
|
5天前
|
存储 监控 安全
什么情况下物理服务器会运行出错?
物理服务器,也称为裸机服务器,一般可以提供高性能计算水平和巨大的存储容量。然而,它们也难免会遇到一些问题。运行出错时,可能会导致停机和数据丢失。
28 15
|
24天前
|
Linux Docker 容器
Linux彻底卸载Docker包括运行拉取的镜像
Linux彻底卸载Docker包括运行拉取的镜像
24 1
|
1月前
|
Java 关系型数据库 数据库
Seata常见问题之docker运行报错如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
105 0
|
1月前
|
Nacos 数据库 Docker
nacos常见问题之docker部署的seata,成功注册到nacos运行报错如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
48 2