Docker 快速發佈SpringBoot項目

以Docker爲容器以SpringBoot爲基礎發佈微服務或者web已經成爲一種比較便捷的方式。本節來實現由Docker Git來快速發佈一個基於SpringBoot的web項目。java

默認已經完成了SpringBoot的hello world項目。git

一. 實現原理web

本地提交代碼 -->推送的Git遠程倉庫-->Docker run提早構建好的鏡像--> 啓動鏡像啓動後執行命令去Git倉庫拉去最新代碼-->編譯啓動web項目spring

關於SpringBoot的啓動方式:docker

SpringBoot項目的三種啓動方式:1. IDE中直接運行  2. 打成jar包 執行java -jar  3.執行基於maven的mvn spring-boot:runapache

咱們選用第三種 用maven來啓動vim

二. 工程實現centos

1.建立遠程代碼倉庫,把寫好的hello world代碼推送到遠程bash

2.準備docker鏡像環境curl

我這裏使用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內容了。

相關文章
相關標籤/搜索