摘要:的应用场景应用的自动化打包和发布自动化测试和持续集成发布在服务型环境中部署和调整数据库或其他的后台应用从头编译或者扩展现有的或平台来搭建自己的环境。
一、什么是docker ? 简介
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。
docker的应用场景web应用的自动化打包和发布;
自动化测试和持续集成、发布;
在服务型环境中部署和调整数据库或其他的后台应用;
从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
二、整合 docker 创建工程创建一个springboot工程springboot-docker
1. 启动类package com.gf; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class SpringbootDockerApplication { public static void main(String[] args) { SpringApplication.run(SpringbootDockerApplication.class, args); } @GetMapping("/{name}") public String hi(@PathVariable(value = "name") String name) { return "hi , " + name; } }2. 将springboot工程容器化
我们编写一个Dockerfile来定制镜像,在src/main/resources/docker 下创建Dockerfile文件
FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD springboot-docker-0.0.1-SNAPSHOT.jar app.jar RUN sh -c "touch /app.jar" ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]3. pom.xml
我们通过maven 构建docker镜像。
在maven的pom目录,加上docker镜像构建的插件
构建镜像4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.1.RELEASE com.gf springboot-docker 0.0.1-SNAPSHOT jar springboot-docker Demo project for Spring Boot UTF-8 UTF-8 1.8 gf org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin com.spotify docker-maven-plugin 1.2.0 ${docker.image.prefix}/${project.artifactId} src/main/resources/docker / ${project.build.directory} ${project.build.finalName}.jar
我们运行下面的命令构建镜像:
mvn clean mvn package docker:bulid
构建成功后,我们通过下面的命令查看镜像:
docker images
启动镜像:
#c2dba352c3c1 为镜像ID docker run -p 8080:8080 -t c2dba352c3c1
之后我们就可以访问服务了。
源码下载:https://github.com/gf-huanchupk/SpringBootLearning
欢迎扫码或微信搜索公众号《程序员果果》关注我,关注有惊喜~
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/27769.html
摘要:可以在地址看到如何使用讲解下上面命令行表示控制台端口号,可以在浏览器中通过控制台来执行的相关操作。同时从控制台可以看到发送的速率多线程测试性能开了个线程,每个线程发送条消息。 showImg(http://ww2.sinaimg.cn/large/006tNc79ly1g5jjb62t88j30u00gwdi2.jpg); 前提 上次写了篇文章,《SpringBoot Kafka 整合...
摘要:前提好几周没更新博客了,对不断支持我博客的童鞋们说声抱歉了。熟悉我的人都知道我写博客的时间比较早,而且坚持的时间也比较久,一直到现在也是一直保持着更新状态。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好几周没更新博客了,对不断支持我博客的童鞋们说声:抱歉了!。自己这段时...
摘要:在配置下上面启动的配置数据库名为账号密码也为。突出点是,即非阻塞的。四对象修改包里面的城市实体对象类。修改城市对象,代码如下城市实体类城市编号省份编号城市名称描述注解标记对应库表的主键或者唯一标识符。 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 这是泥瓦匠的第104篇原创 文章工程: JDK...
摘要:前提通过前面两篇文章可以简单的了解和安装,今天就将和整合起来使用。然后我运行之前的整合项目,查看监控信息如下总结整篇文章讲述了与整合和监控平台的搭建。 showImg(https://segmentfault.com/img/remote/1460000013232432?w=1920&h=1277); 前提 通过前面两篇文章可以简单的了解 RocketMQ 和 安装 RocketMQ...
阅读 3509·2021-11-18 13:22
阅读 2527·2021-09-23 11:53
阅读 689·2019-08-30 13:17
阅读 1314·2019-08-30 13:12
阅读 853·2019-08-29 15:43
阅读 1070·2019-08-29 12:53
阅读 2765·2019-08-26 18:27
阅读 1475·2019-08-26 11:52