Docker 快速发布SpringBoot项目

以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内容了。

 

转载于:https://my.oschina.net/mrpei123/blog/3037162

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值