zoukankan      html  css  js  c++  java
  • ballerina 学习二十五 项目docker 部署&& 运行

    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!
    ");
    
    // 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
    javascript求相对路径
    js网页返回顶部和楼层跳跃的实现原理
    函数传值的学习笔记
    每日一题——归并排序
    python文件处理
    Docker数据卷
    Docker镜像原理
    Docker可视化之Portainer
    Docker部署Nginx、Tomcat
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/9127295.html
Copyright © 2011-2022 走看看