在 SAP Kyma 上部署一个 Go MSSQL API Endpoint

举报
汪子熙 发表于 2022/06/11 17:51:47 2022/06/11
【摘要】 链接:https://developers.sap.com/tutorials/cp-kyma-api-mssql-golang.html本地文件:C:\Code\referenceCode\SAP Kyma教程例子\api-mssql-go main.gogo 应用的入口: dockerfile该 dockerfile 定义了两个阶段来构造 docker 镜像文件。(1)In the fi...

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

本地文件:C:\Code\referenceCode\SAP Kyma教程例子\api-mssql-go

main.go

go 应用的入口:

dockerfile

该 dockerfile 定义了两个阶段来构造 docker 镜像文件。

(1)In the first stage, a Go image is used. It copies the related content of the project into the image and builds the application.

(2)The built application is then copied into the Docker scratch image and exposed on port 8000. The scratch image is an empty image containing no other tools within it so obtaining a shell/bash session is not possible.

FROM scratch
WORKDIR /app
COPY --from=builder /app/api-mssql-go /app/

如果上面三行代码删除,对最后构建好的 docker 镜像文件的影响就是,尺寸会比不注释后的镜像文件尺寸大。这三行代码的作用是,从一个空的 scratch 镜像开始构建,仅将之前 go 镜像 /app/api-mssql-go 文件夹拷贝到新镜像的 app 目录,这样尺寸大大减小。

apirule:

从上图可以看到,这个 GO MSSQL API endpoint,支持对订单的增删改查。

本地运行 go 应用:

go run ./cmd/api/main.go

本地 endpoint 如下:

http://localhost:8000/orders

读取订单:curl -i -H “Accept: application/json” -H “Content-Type: application/json” -X GET http://localhost:8000/orders

创建订单:curl --data “{“order_id”:“10000003”,“description”:“test from curl”}” http://localhost:8000/orders

进入 api-mssql-go 文件夹,构建 docker 镜像:

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

上传镜像:
docker push <your-docker-id>/api-mssql-go

本地启动镜像:

docker run -p 8000:8000  --name api-mssql-go \
-e MYAPP_username="sa" \
-e MYAPP_password="Yukon900" \
-e MYAPP_database="DemoDB" \
-e MYAPP_host="host.docker.internal" \
-e MYAPP_port="1433" \
-d <your-docker-id>/api-mssql-go:latest

最后,把 k8s 文件夹下所有 yaml 文件,部署到 SAP Kyma 即可。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。