您的位置:首页 > 编程语言 > Java开发

【云星数据---mesos实战系列003】:marathon实战009--marathon部署一个springboot应用

2017-11-11 17:58 344 查看

marathon部署一个springboot应用

1.要求:

为了实现微服务,我们可以采用springboot的实现方式。因此要部署一个springboot应用。


2.实现:

1.实现一个springboot的程序,这部分可以关注本博客的有关springboot的章节
2.将其打包成docker image 并上传到私有镜像
cat Dockerflie

FROM frolvlad/alpine-oraclejdk8:slim
MAINTAINER liguohua <liguohua@cloud-star.com.cn>
# 拷贝文件到容器
ADD ./target/springboot-admin-service-0.0.1-SNAPSHOT.jar app.jar
# 配置容器启动后执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

3.使用marathon成功部署
cat Marathon.json

{
"id": "/bigdata-common-backend-services/basic-test-service",
"mem": 256,
"instances": 1,
"container": {
"type": "DOCKER",
"docker": {
"network": "BRIDGE",
"forcePullImage": true,
"image": "10.100.134.2:5000/bigdata-common-backend-services/basic-test-service",
"type": "DOCKER",
"privileged": true,
"portMappings": [
{
"containerPort": 31012,
"hostPort": 31012,
"servicePort": 0,
"protocol": "tcp"
}
]
}
},
"env": {
"server.port": "31012",
"spring.profiles.active": "dev"
},
"healthChecks":[
{
"protocol":"HTTP",
"path":"/hi",
"portIndex":0,
"gracePeriodSeconds":300,
"intervalSeconds":60,
"timeoutSeconds":20,
"maxConsecutiveFailures":3
}
]
}


3.测试:

访问: http://bigdata04:31011/hi 返回:以下内容是springboot程序中的一个controller中的内容。给据你写的内容不同,而现实不同的内容。
hello marathon! this msg come from spring boot basic-test-service!


4.说明:

1.通过吧springboot程序打包成docker image
2.将docker image push到我们自己的docker-register中
3.用marathon+mesos来管理我们自己的docker container
4.这样前端,后端都可以用marathon+mesos管理,为自己在生成项目中使用这套方案奠定了知识基础。
5.配合gitlab,jenkins可以实现对多个环境,多个服务,的微服务管理,以形成cloudnative形式的devops
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐