博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Rapidoid及其容器化的Web平台
阅读量:4179 次
发布时间:2019-05-26

本文共 1695 字,大约阅读时间需要 5 分钟。

Rapidoid首先是一个Java的Web框架,提供了一系列Web应用开发相关的类库。其次,Rapidoid还是一个能够提供Web服务的容器化的平台,即可以直接使用Rapidoid构建容器实例,提供HTTP服务。本文详细介绍其作为Web平台的用法。关于Rapidoid开发框架,详见其文档。

Rapidoid平台实际上就是一个Docker容器,可以作为HTTP服务器直接发布静态Web资源,也可以部署Jar形式的Java Web应用,发布动态Web资源。
1. Rapidoid平台的组成

  • Dockerfile文件

基于openjdk:8-jre-slim的Debian操作系统,即包含Java 8相关类库的Debian stretch操作系统。

容器服务的默认端口8888。

  • entrypoint.sh文件

一个脚本文件,用以在容器实例中启动一个可执行的jar文件,默认为容器中的/app/app.jar文件。即执行如下命令:

java ... -jar /app/app.jar

2. Rapidoid平台的获取

        docker pull rapidoid
        或
        docker pull rapidoid:latest
3. Rapidoid平台的用法
        1)快速启动容器,并在容器内给出帮助信息
            docker run --rm rapidoid --help
        2)包含Rapidoid和MySQL两个容器的REST服务
            i. 首先启动MySQL容器
                docker pull mysql
                docker run -d --name my-mysql-container -e MYSQL_ROOT_PASSWORD=db-pass mysql
            ii. 启动Rapidoid容器时,连接到MySQL容器
                docker run -it --rm \
                -p 8888:8888 \
                --link my-mysql-container:mysql \#注意这里,链接名必须为mysql
                rapidoid \
                profiles=mysql \
                jdbc.host=mysql \
                jdbc.password=db-pass \
                '/users <= SELECT user FROM mysql.user'
            iii. 验证
                打开Web浏览器,访问http://localhost:8888/users
        3)直接发布/your-www-root的静态资源
            docker run -it --rm \
            -p 8888:8888 \
            -v /your-www-root:/app/static \注意这里,映射外部资源必须到/app/static
            rapidoid
        4.编辑/app/config.yml文件,配置Rapidoid

rapidoid.port=4444rapidoid-admin.port=9999app.services=pingadmin.services=status

            可以在Web浏览器中访问对应的端口及URI,以验证配置是否生效。

                http://localhost:4444/_ping
                http://localhost:9999/_status
        5)基于Rapidoid容器,运行Java应用
            Java应用以jar的形式发布,必须被映射为容器内的/app/app.jar文件。
            扩展Dockerfile,并复制应用到容器内如下:

FROM rapidoid:latest...COPY /location/of/your/webapp.jar /app/app.jar...

 

参考链接:

    https://www.rapidoid.org/

    https://www.rapidoid.org/docs.html
    https://github.com/rapidoid/docker-rapidoid
    https://store.docker.com/images/rapidoid/
    https://docs.docker.com/samples/library/rapidoid/
 

转载地址:http://nqlai.baihongyu.com/

你可能感兴趣的文章
Hibernate中持久化上下文的flush操作之一COMMIT
查看>>
Hibernate的乐观锁并发控制机制
查看>>
Hibernate的悲观锁并发控制机制及LockMode
查看>>
Hibernate中的数据的获取策略(fetching)
查看>>
Hibernate中通过HQL/JPQL查询的方式实现动态数据获取
查看>>
Hibernate中通过FetchProfile的方式实现动态数据获取
查看>>
Hibernate应用中通过JPA配置Entity缓存
查看>>
Hibernate中配置二级缓存的并发策略
查看>>
Hibernate中的Query cache(查询缓存)
查看>>
Hibernate的interceptors与events
查看>>
Android常用代码
查看>>
Cardboard虚拟现实开发初步(二)
查看>>
60个优秀的免费3D模型下载网站
查看>>
Cardboard虚拟现实开发初步(三)
查看>>
Android native和h5混合开发几种常见的hybrid通信方式
查看>>
Vista/Win7 UAC兼容程序开发指南
查看>>
IOS程序开发框架
查看>>
安装jdk的步骤
查看>>
简述JAVA运算符
查看>>
简易ATM源代码及运行结果
查看>>