ballerina 官方提供了docker 的runtime,还是比较方便的

基本项目创建

  • 使用cli创建项目

按照提示操作就行

ballerina init  -i
  • 项目结构

添加了dockerfile 以及docker-compose 简单http 服务

├── Ballerina.toml
├── Dockerfile
├── README.md
├── docker-compose.yml
├── hello_service.bal
├── target
│ └── hello_service.balx
└── tests
└── hello_service_test.bal
  • 添加简单http server 代码(hello_service.bal)
// A system package containing protocol access constructs
// Package objects referenced with 'http:' in code
import ballerina/http;
import ballerina/io; // A service endpoint represents a listener
endpoint http:Listener listener {
port:9090
}; // A service is a network-accessible API
// Advertised on '/hello', port comes from listener endpoint
service<http:Service> hello bind listener { // A resource is an invokable API method
// Accessible at '/hello/sayHello
// 'caller' is the client invoking this resource
sayHello (endpoint caller, http:Request request) { // Create object to carry data back to caller
http:Response response = new; // Objects and structs can have function calls
response.setTextPayload("Hello Ballerina!\n"); // Send a response back to caller
// Errors are ignored with '_'
// -> indicates a synchronous network-bound call
_ = caller -> respond(response);
}
}

Dockerfile

官方提供了基础镜像 ballerina/ballerina

  • dockerfile
# build stage
# FROM ballerina/ballerina-platform AS build-env
# ADD . /home/ballerina/
# RUN ballerina build hello_service.bal
# RUN ls .
FROM ballerina/ballerina
EXPOSE 9090
COPY hello_service.bal /home/ballerina
RUN ls .
ENTRYPOINT [ "ballerina","run","hello_service.bal" ]

集成docker-compose

  • docker-compose.yml
version: "3"
services:
http:
build: .
image: myhttp
ports:
- "9099:9090"

构建&&运行

docker-compose build
docker-compose up -d

效果

参考资料

https://hub.docker.com/r/ballerina/ballerina-platform/
https://hub.docker.com/r/ballerina/ballerina/
https://github.com/rongfengliang/ballerina-docker-demo

 
 
 
 

最新文章

  1. Birt报表存储过程多选参数的设置
  2. C# 获取指定接口的所有实现类
  3. Hadoop建立IPC连接和数据读写
  4. android 数据库_sql语句总结
  5. PHP 超级全局变量
  6. 栈的实现Java
  7. 201521123101 《Java程序设计》第7周学习总结
  8. iOS 远程推送通知 详解
  9. ASP.NET Core 入门教程 10、ASP.NET Core 日志记录(NLog)入门
  10. Java容器-个人整理1
  11. json字符串和json对象的相互转化
  12. doy09 文件处理,拷贝文件
  13. Java容器解析系列(4) ArrayList Vector Stack 详解
  14. JAVA中内部类(匿名内部类)访问的局部变量为什么要用final修饰?
  15. spring源码分析系列 (2) spring拓展接口BeanPostProcessor
  16. Wi-Fi 协议和数率?
  17. gcahce事物不够,借助binlog追上
  18. Spark弹性分布式数据集RDD
  19. [转]ESP8266使用详解
  20. 如何插入sql数据

热门文章

  1. java switch参数类型
  2. 使用 Laravel 数据填充功能生成中文测试数据
  3. C++ string和C风格字符串
  4. 项目中使用protobuf 3.0
  5. 来自MSDN的RibbonGadgets练习
  6. Mac下将C程序创建为动态链接库再由另一个C程序调用
  7. gradle Debug的使用
  8. TP中上传文件图片的实现
  9. perl模块终极解决方案--转载
  10. poj 2828 Buy Tickets 树状数组