Docker部署运行springboot项目,并使用Dockerfile制作镜像
前言:
本来是要搭建一个自动化部署分布式项目的服务器平台的,使用jenkins+k8s+ELK+springboot把一个简单的springboot项目给搞起来,由于工程太大,先分开把每个技术组件单独给撸一遍过去再说。全撸一遍过去后,再来整合搭建这个浩大的全方位服务器自动部署工程。
唉,先用Docker发布一个springboot镜像demo练练手吧。
借鉴博客:https://www.imooc.com/article/44582
借鉴博客(此博客有连接数据库):https://segmentfault.com/a/1190000013096870
准备环境:
【注意:搞这些东西的时候一定要关闭服务器的防火墙】
CentOS7服务器一台:192.168.26.233 (服务器上安装docker就不多说了)
springboot项目的demo一个:thymeleaf-master (以前用来测试thymeleaf技术的一个小demo项目,正好拿来用)
第一步:准备测试的springboot项目:thymeleaf-master
1、thymeleaf-master项目的指定启动端口为:8082
2、thymeleaf-master项目本地启动后的页面:

3、把此项目打成jar包,操作如下图:

第二步:docker把jar包构建成镜像:
1、把上面打好的jar包,上传到CentOS服务器上,我在服务器上新建了目录/usr/local/dev/docker/testProject/,把jar包丢到testProject目录里,再建一个Dockerfile文件,此文件是来用构建镜像的配置,如下图:

2、Dockerfile配置文件的内容:
FROM java:8
VOLUME /tmp
ADD thymeleaf-master-1.0-SNAPSHOT.jar /thymeleaf-master.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/thymeleaf-master.jar"]

3、执行docker构建镜像命令:
#thymeleaf-master表示生成镜像的名称,(注意后面有个点.)
docker build -t thymeleaf-master .

4、查看打成的镜像是否存在:(可以看到有两镜像,已经成功了。docker.io/java估计是docker自动打成的jar包运行环境jdk8镜像)

5、运行刚才构建成的镜像:
#这里我项目用的8082端口,这里我也映射8082端口,加上--name xxx是为了给容器取别名,方便docker命令操作
docker run -d -p 8082:8082 --name thymeleaf-master thymeleaf-master

6、浏览器打开ip:8082端口,查看:

=============2019年11月10日更新==============================
项目变成容器运行在docker里,怎么查看项目日志:
容器日志命令查看:表示查看容器名为thymeleaf-master的500行日志 docker logs -f -t --tail thymeleaf-master
Docker部署运行springboot项目,并使用Dockerfile制作镜像的更多相关文章
- linux安装docker,并在docker上运行springboot项目
docker架构示例图 仓库---> 镜像 ---> 容器 一.安装docker 1.通过 uname -r 命令查看你当前的内核版本 uname -r 2使用 root 权限登录 Ce ...
- 从零开始学习docker之在docker中运行springboot项目
一.docker环境配置 首先需要一个安装了docker的服务器(本地或者云服务器),如果没有请看上文,传送门---https://www.cnblogs.com/wdfordream/p/12737 ...
- docker 中部署一个springBoot项目
docker 中部署一个springBoot项目 (1)介绍 springBoot项目 1.项目结构 2.pom.xml <?xml version="1.0" encodi ...
- 使用docker运行springboot项目
本文主要讲的是使用docker运行springboot项目 获取一个springboot项目 这里我没有重新构建,用的之前写的一个项目,直接从github上下载下来,地址:https://github ...
- Windows Docker 部署 Spring Boot 项目
目录 Docker Configuration Config IDEA Plugin Create Spring Boot Project Containerize It Use Dockerfile ...
- 使用 Docker 部署 Spring Boot 项目
Docker 介绍 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它是目前最流行的 Linux 容器解决方案. Docker 将应用程序与该程序的依赖,打包在一个文件里面 ...
- 使用 Docker 部署 Spring Boot 项目,带劲!!
上一篇:年轻人的第一个 Docker 应用 Docker 一次构建.处处运行及快速启停的特性,在微服务架构中有着举足轻重的地位,具体的概念性的东西就不介绍了,不懂的点击这里阅读 Docker 基础教程 ...
- 使用Docker部署Spring boot项目
Docker是一个使用广泛的Linux容器管理工具包,它允许用户创建镜像,并将其容器实例化.通过本指南,我们可以学习到如何使用Docker部署Spring Boot项目. 先决条件 开发之前,你必须具 ...
- Docker 部署前后端项目
Docker 部署前后端项目 平生不会相思,才会相思,便害相思. 简介:都是被逼的,从零开始一个Docker 部署九个微服务和三个前端项目.其中,这些服务需要用到Nacos.MySQL.Nginx.E ...
随机推荐
- WPF设计の不规则窗体
我们在工作中,经常会需要画一些不规则的窗体,现在总结如下. 一.利用VisualBrush实现.这依赖于VisualBrush的特性,任何控件可以作为画刷,而画刷又可以作为背景. 此种方法可以用于实现 ...
- 原生javascript实现回到顶部平滑滚动
function rt() { var d = document, dd = document.documentElement, db = document.body, top = dd.scroll ...
- PHP设计模式_工厂模式
个人理解工厂类相当于平时用的基类,只需要把类new一次然后付给一个变量,以后直接引入基类调用变量使用类里的方法即可 了解 工厂模式,工厂方法或者类生成对象,而不是在代码中直接new. 使用工厂模式,可 ...
- 错误RuntimeError: Invalid DISPLAY variable
原因:matplotlib的backend中的FltkAgg, GTK, GTKAgg, GTKCairo, TkAgg , Wx or WxAgg这几个backend都要求有GUI图形界面的 首先查 ...
- Git中删除指定文件
之前的博客Git基础使用教程介绍了Git这个开源分布式管理系统的一些基础操作,这篇博客,介绍下如何利用Git删除远程仓库的文件... 1.拉取远程仓库的文件到本地 git clone xxx 如果还未 ...
- webstrom 使用sass的环境配置说明
sass(https://www.sass.hk)基于Ruby语言开发而成,因此安装sass前需要安装Ruby.(注:mac下自带Ruby无需在安装Ruby!) 一.安装ruby 注意勾选第二个选项 ...
- .Net业务搭配实用技术栈
前言 昨天有篇文章在讨论webform的设计思路,我已经四五年不用webform了,虽然它也提供了HttpModule和httphandle来处理请求,提供了一般处理程序ashx来简化处理流程,但依然 ...
- 开源纯C#工控网关+组态软件(二)工控网关的实现
一. 工控网关是什么 网关是物联网和工控系统的核心组件.网关起的是承上启下的作用.上即上位机,电脑/触屏监控系统.MES这些:下即下位机,包括PLC.传感器.嵌入式芯片等. 不同厂家的下位机,往往 ...
- (第十三周)Final Review会议
项目名:食物链教学工具 组名:奋斗吧兄弟 组长:黄兴 组员:李俞寰.杜桥.栾骄阳.王东涵 Final Review会议 时间:2016.12.2 13:00——15:00 地点:冬华楼一楼大厅 会 ...
- T-shirt buying CodeForces - 799B (小根堆+STL)
题目链接 思路: 由于题目说了只有1,2,3,三种色号的衣服,然后开三个对应色号的小根堆, 我是根据pair<int,int> 创建了一个以价格小的优先的优先队列. pair中的另外一个i ...