欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker部署SpringBoot應(yīng)用的實現(xiàn)步驟

 更新時間:2021年11月22日 08:26:44   作者:花傷情猶在  
本文主要介紹了Docker部署SpringBoot應(yīng)用,Docker可以巧妙的解決函數(shù)庫、依賴沖突問題,具有一定的參考價值,感興趣的可以了解一下

前言

部署項目時可能會需要依賴于node.js、Redis、RabbitMQ、MySQL等,這些服務(wù)部署時所需要的函數(shù)庫、依賴項各不相同,甚至會有沖突。給部署帶來了極大的困難。而Docker確巧妙的解決了這些問題,Docker為了解決依賴的兼容問題的,采用了兩個手段:

  1. 將應(yīng)用的Libs(函數(shù)庫)、Deps(依賴)、配置與應(yīng)用一起打包
  2. 將每個應(yīng)用放到一個隔離容器去運行,避免互相干擾

在這里插入圖片描述

本文將講解如何使用Docker來部署我們平時用SpringBoot開發(fā)的項目:

在這里插入圖片描述

Dockerfile

什么是 Dockerfile?

Dockerfile 是一個用來構(gòu)建鏡像的文本文件,文本內(nèi)容包含了一條條構(gòu)建鏡像所需的指令和說明。

在這里插入圖片描述

Dockerfile語法

構(gòu)建自定義的鏡像時,并不需要一個個文件去拷貝,打包。

我們只需要告訴Docker,我們的鏡像的組成,需要哪些BaseImage、需要拷貝什么文件、需要安裝什么依賴、啟動腳本是什么,將來Docker會幫助我們構(gòu)建鏡像。

而描述上述信息的文件就是Dockerfile文件。

Dockerfile就是一個文本文件,其中包含一個個的指令(Instruction),用指令來說明要執(zhí)行什么操作來構(gòu)建鏡像。每一個指令都會形成一層Layer。

在這里插入圖片描述

打包SpringBoot項目

準備項目:

項目端口

server.port=8080

在templates文件夾下新建index.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Docker部署SpringBoot應(yīng)用</title>
</head>
<body>
<h1>Docker部署SpringBoot應(yīng)用</h1>
<img src="/static/img/2.jpg" alt="" width="100%">
</body>
</html>

定義主頁Controller,跳轉(zhuǎn)到index

@Controller
public class indexController {

    @RequestMapping("/")
    public String index(){
        return "index";
    }
}

在本地預(yù)覽效果:

在這里插入圖片描述

在本地將SpringBoot應(yīng)用打包成jar

準備maven-compiler-plugin插件

<build>
	<!--編譯打包后的文件包名-->
	<finalName>app</finalName>
	<plugins>
		<plugin>
			<!--GAV坐標(G組織id,A項目id,V版本號)-->
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.8.1</version>
			<!--配置:
		    一般而言,target與source是保持一致的,但是,有時候為了讓程序能在其
		    他版本的jdk中運行(對于低版本目標jdk,源代碼中不能使用低版本jdk中不
		    支持的語法),會存在target不同于source的情況-->
			<configuration>
				<!--源代碼使用的JDK版本-->
				<source>1.8</source>
				<!-- 需要生成的目標class文件的編譯版本 -->
				<target>1.8</target>
				<!-- 字符集編碼,防止中文亂碼 -->
				<encoding>UTF-8</encoding>
			</configuration>
		</plugin>
	</plugins>
</build>

maven是個項目管理工具,如果不告訴它代碼要使用什么樣的jdk版本編譯,它就會用編譯插maven-compiler-plugin默認的jdk版本來處理,這樣就容易出現(xiàn)版本不匹配的問題,以至于可能導(dǎo)致編譯不通過的問題。例如代碼中要是使用上了Java8的新特性,比如函數(shù)式編程,但是maven在編譯的時候使用的是Java7,那這一段代碼是完全不可能編譯成.class文件的。為了避免出現(xiàn)這種情況,在構(gòu)建maven項目的時候,我習慣性第一步就是配置maven-compiler-plugin插件,指定項目源碼的jdk 版本,編譯后的 jdk 版本,以及編碼方式。

然后執(zhí)行clean,最后執(zhí)行package進行項目打包

在這里插入圖片描述

出現(xiàn)BUILD SUCCESS說明打包成功了

在這里插入圖片描述

打包成功后會出現(xiàn)target文件夾,目錄下就會有剛剛打包的jar包

在這里插入圖片描述

準備jar包和Dockerfile

復(fù)制jar到桌面或自定義位置,在本地創(chuàng)建編寫Dockerfile文件(注:名字必須為Dockerfile,去掉后綴名)

在這里插入圖片描述

編寫Dockerfile

Dockerfile指令

FROM java:8-alpine
COPY ./app.jar /tmp/app.jar
ENTRYPOINT java -jar /tmp/app.jar

Dockerfile說明

FROM java:8-alpine:

基于java8構(gòu)建鏡像,默認構(gòu)建java鏡像需要安裝配置環(huán)境變量,而java:8-alpine這個鏡像已經(jīng)幫我們把前面的步驟都做完了

COPY ./app.jar /tmp/app.jar

復(fù)制jar包

ENTRYPOINT java -jar /tmp/app.jar

入口命令

使用工具將jar和Dockerfile上傳到服務(wù)器

上傳位置看個人,我存放的位置:/tmp/docker

cd tmp
mkdir docker

選擇上傳文件

在這里插入圖片描述

上傳到/tmp/docker目錄下

在這里插入圖片描述

構(gòu)建鏡像

進入上傳文件的目錄:cd /tmp/docker,輸入ls查看文件

在這里插入圖片描述

輸入命令構(gòu)建鏡像

docker build -t test:1.0 .

格式:docker build -t 鏡像名稱:版本號 Dockerfile所在目錄路徑

命令說明:

build:docker的二級命令

  • 構(gòu)建鏡像

-t

  • -名稱: 一般的鏡像名稱格式:名稱:版本號(test:1.0)

.

  • Dockerfile所在目錄,因為我們已經(jīng)進入了Dockerfile所在的目錄,.代表當前目錄

可以看到構(gòu)建鏡像的時候會以我們編寫Dockerfile的三條命令分為3個步驟執(zhí)行

在這里插入圖片描述

查看鏡像

查看Docker中的鏡像命令:

docker images

可以看到我們自定義鏡像test

在這里插入圖片描述

創(chuàng)建并運行容器

運行Docker鏡像命令:

docker run --name springboot -p 8080:8080 -d test:1.0

命令說明:

docker run: docker二級命令

  • 創(chuàng)建并運行容器

--name

  • 定義容器名稱,后面跟上容器名稱(springboot)

-p端口映射

  • 左邊端口為Linux的端口 ,右邊為容器的端口號
  • 將linux端口映射在容器端口號上,這樣訪問linux端口等于訪問容器端口號

-d

  • 后臺運行容器 ,否則退出之后容器就會停止運行

test:1.0–>鏡像名稱

  • 選擇自定義鏡像test 的1.0版本來創(chuàng)建容器

創(chuàng)建并運行容器成功!

在這里插入圖片描述

查看正在運行的鏡像

正在運行的鏡像命令

docker ps

在這里插入圖片描述

瀏覽器訪問服務(wù)器的8080端口

在這里插入圖片描述

手機訪問:

在這里插入圖片描述

查看日志

查看容器日志命令

docker logs -f springboot

說明:

查看容器日志但是不是實時更新,想要查看新的日志還需要重復(fù)運行

docker logs + 容器名稱

實時更新日志

docker logs -f + 容器名稱

在這里插入圖片描述

Docker部署SpringBoot應(yīng)用教程結(jié)束!

到此這篇關(guān)于Docker部署SpringBoot應(yīng)用的文章就介紹到這了,更多相關(guān)Docker部署SpringBoot應(yīng)用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 修改docker容器端口映射到主機的方法實現(xiàn)

    修改docker容器端口映射到主機的方法實現(xiàn)

    Docker容器的端口映射是通過docker run命令來啟動容器,并指定端口映射參數(shù),本文主要介紹了修改docker容器端口映射到主機的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • docker常用命令總結(jié)(推薦)

    docker常用命令總結(jié)(推薦)

    這篇文章主要介紹了docker常用命令總結(jié)(推薦),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • 徹底搞懂Docker鏡像分層的實現(xiàn)

    徹底搞懂Docker鏡像分層的實現(xiàn)

    本文我們會深入的學習Docker的鏡像分層的原理和實現(xiàn),通過實例和與git的類比,幫助我們加深對鏡像的理解,對Docker鏡像分層相關(guān)知識感興趣的朋友一起看看吧
    2022-02-02
  • Docker compose配置文件寫法及命令使用示例

    Docker compose配置文件寫法及命令使用示例

    這篇文章主要介紹了Docker compose配置文件寫法及命令總結(jié)使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-03-03
  • docker的基本使用及使如何用Docker 運行D435i

    docker的基本使用及使如何用Docker 運行D435i

    這篇文章主要介紹了docker的基本使用及使如何用Docker 運行D435i,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11
  • Docker教程之使用dockerfile生成鏡像

    Docker教程之使用dockerfile生成鏡像

    這篇文章主要介紹了Docker教程之使用dockerfile生成鏡像的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Docker Dockerfile 定制鏡像的方法

    Docker Dockerfile 定制鏡像的方法

    這篇文章主要介紹了Docker Dockerfile 定制鏡像的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • Jenkins簡介與Docker部署Jenkins的方法

    Jenkins簡介與Docker部署Jenkins的方法

    今天小編就為大家分享一篇關(guān)于Jenkins簡介與Docker部署Jenkins的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 解決docker中ifconfig不可用的問題

    解決docker中ifconfig不可用的問題

    這篇文章主要介紹了解決docker中ifconfig不可用的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Docker創(chuàng)建tomcat容器實例后無法訪問(HTTP狀態(tài)404)

    Docker創(chuàng)建tomcat容器實例后無法訪問(HTTP狀態(tài)404)

    本文主要介紹了Docker創(chuàng)建tomcat容器實例后無法訪問,HTTP狀態(tài)顯示404,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07

最新評論