文档章节

Docker 快速发布SpringBoot项目

MrPei
 MrPei
发布于 04/15 18:02
字数 749
阅读 102
收藏 4

以Docker为容器以SpringBoot为基础发布微服务或者web已经成为一种比较便捷的方式。本节来实现由Docker Git来快速发布一个基于SpringBoot的web项目。

默认已经完成了SpringBoot的hello world项目。

一. 实现原理

本地提交代码 -->推送的Git远程仓库-->Docker run提前构建好的镜像--> 启动镜像启动后执行命令去Git仓库拉去最新代码-->编译启动web项目

关于SpringBoot的启动方式:

SpringBoot项目的三种启动方式:1. IDE中直接运行  2. 打成jar包 执行java -jar  3.执行基于maven的mvn spring-boot:run

我们选用第三种 用maven来启动

二. 工程实现

1.创建远程代码仓库,把写好的hello world代码推送到远程

2.准备docker镜像环境

我这里使用DockerHub公共镜像idasound/centos7-jdk8作为基础镜像,该镜像默认环境为Centos7.x和jdk1.8

因为我们用到JDK Maven Git,所以需要在此基础上继续完善环境。

启动并进入基础镜像容器

docker run -it idasound/centos7-jdk8:latest

安装Maven和Git ,这里我写了个脚本 执行脚本来安装

#创建脚本目录
mkdir -p /data/script
vim install-mvn-git.sh
#赋可执行权
chmod -R 755 install-mvn-git.sh
#执行
./install-mvn-git.sh


#执行完成后验证
java -version
mvn -v
git --version

安装脚本:

# @Author: peizhouyu
# @Date:   2019-04-15 14:24:11
# @Last Modified by:   peizhouyu
# @Last Modified time: 2019-04-15 16:41:36

#!/bin/bash
SOFT_PATH=/opt/soft

if [ ! -d $SOFT_PATH ];then
mkdir $SOFT_PATH
else
echo "文件夹已经存在"
fi

yum install -y wget 


#install maven3.2.3
cd $SOFT_PATH
wget https://archive.apache.org/dist/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz
tar -zxvf apache-maven-3.2.3-bin.tar.gz -C $SOFT_PATH
mv apache-maven-3.2.3 maven-3.2.3
cd maven*
MAVEN_HOME=`pwd`
ln -s $MAVEN_HOME/bin/mvn /usr/bin/mvn

#install git 2.8.0
cd $SOFT_PATH
yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils- MakeMaker
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.8.0.tar.gz
tar -zxvf git-2.8.0.tar.gz -C $SOFT_PATH
cd git*
./configure
make install
ln -s /usr/local/bin/git /usr/bin/git

到此容器环境已经装好了,注意在退出容器前复制一下容器的id 即在容器内执行命令的时候左边的主机名

如下图 cd8af6361068:

执行exit退出容器,然后以此容器为基础创建基础环境镜像。

docker commit -m "install maven git" cd8af6361068 mrpei/centos7-jdk-mvn-git-base:v1

3.创建运行镜像

编写dockerfile文件:

FROM mrpei/centos7-jdk-mvn-git-base:v1

MAINTAINER peizhouyu

CMD rm -rf /data \
	&& mkdir -p /data/web \
	&& git clone https://peizhouyu%40vip.com:test123@gitee.com/peizhouyu/twchat.git \
	&& cd twchat \
    && mvn spring-boot:run

构建执行镜像:

docker build -t "mrpei/twchat:v1" .

4.  启动容器

docker run -d -p 8820:8820 --name twchat-01 mrpei/twchat:v1

容器运行后需要拉代码构建,稍等几分钟 访问IP:8820 就可以看到我们的web内容了。

 

© 著作权归作者所有

MrPei

MrPei

粉丝 7
博文 96
码字总数 45863
作品 0
朝阳
高级程序员
私信 提问
docker(三):使用maven 插件构建docker镜像

---layout: blogistop: truetitle: "使用maven 插件构建docker镜像"date: 2018-09-11category: dockertags: docker --- 介绍 作为一个java后端开发人员,docker如何与Maven 工程相结合是我们......

开心的哈士奇
2018/10/17
153
0
微服务资源springboot、springcloud、docker、dubbo项目实战等倾心分享

精彩内容 java实战练习项目教程 全网最全电子图书分享 你所需要的大数据视频教程 java学习视频教程及源码 今天又是周末,还是想给大家送一些福利,因为最近一直有小伙伴问我要springboot等微...

公众号_好好学java
2018/08/06
187
0
使用 Docker 部署 Spring Boot之项目的构建

Docker通常用于如下场景: web应用的自动化打包和发布; 自动化测试和持续集成、发布; 在服务型环境中部署和调整数据库或其他的后台应用; 从头编译或者扩展现有的OpenShift或Cloud Foundry...

qq_28089993
2018/04/21
0
0
springboot docker jenkins 部署 对比 tomcat

---------------------------------------------------------------------------------------------------------------- springboot 详解 (一) helloworld 下载demo springboot 详解 (二)......

curiousby
2018/06/26
0
0
springboot整合docker部署(两种构建Docker镜像方式)

在docker开始部署springBoot项目(方法一) Dockerfile 文件 1.在centos7 ~ 创建一个文件夹docker 里面放置 上面的Dockerfile 和 springBoot 打包的项目dockerspringboot.jar 在该docker文件下...

时刻在奔跑
2018/12/05
317
0

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
昨天
64
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
昨天
26
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
昨天
43
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
昨天
27
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
昨天
44
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部