我是這樣使用SpringBoot(加入Docker)

目錄

我是這樣使用SpringBoot(安裝docker)中對docker有過一些描述,這里使用docker部署項目刚盈。

使用docker

使用docker是在maven中引入dockerfile-maven-plugin組件威酒,配置組件的參數。寫好dockerfile鞭缭,編譯成docker的image单默,用這個image創(chuàng)建運行容器俺猿。

使用dockerfile-maven-plugin組件

修改pom.xml文件茎匠,在pom.xml中引入dockerfile-maven-plugin組件。代碼如下:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <parent>
        <artifactId>bhparent</artifactId>
        <groupId>com.biboheart.demos</groupId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>bhhello</artifactId>

    <name>bhhello</name>
    <!-- FIXME change it to the project's website -->
    <url>http://www.example.com</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>webjars-locator</artifactId>
            <version>0.34</version>
        </dependency>

        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>jquery</artifactId>
            <version>3.3.1</version>
        </dependency>

        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>bootstrap</artifactId>
            <version>3.3.7-1</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!--Docker maven plugin-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.4.10</version>
                <configuration>
                    <repository>${project.artifactId}</repository>
                    <contextDirectory>./</contextDirectory>
                    <tag>${project.version}</tag>
                    <buildArgs>
                        <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

<build></build>標簽是這次加的押袍,<repository>${project.artifactId}</repository>配置docker庫的名稱為項目名稱诵冒,<tag>${project.version}</tag>docker的tag為項目的版本號,配置buildArgs為jar文件目錄。

dockerfile文件

完成docker maven plugin引入后谊惭,寫dockerfile文件汽馋。
在項目根目錄(pom.xml)同級目錄中創(chuàng)建名稱為“Dockerfile”的文件侮东,不需要后綴。如圖


目錄

寫dockerfile文件內容如下

# 基礎鏡像
FROM openjdk:8-jdk-alpine
# 對應pom.xml文件中的dockerfile-maven-plugin插件buildArgs配置項JAR_FILE的值
ARG JAR_FILE
# 復制打包完成后的jar文件到/opt目錄下
COPY ${JAR_FILE} /opt/app.jar
# 啟動容器時執(zhí)行
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/opt/app.jar"]
# 使用端口80
EXPOSE 80

這里用openjdk8作為基礎鏡像豹芯,在這之上加入項目文件悄雅,最后用java啟動項目。docker與spring boot項目的整合基本完成铁蹈,可以使用了宽闲。

部署項目

編譯項目

打開控制臺,執(zhí)行docker images查看當前image握牧。這里還是前面安裝后測試的tomcat一個image容诬。


鏡像

在項目根目錄執(zhí)行命令mvn clean package dockerfile:build,打包項目后編譯dockerfile沿腰。成功后會生成一個image览徒。


執(zhí)行打包命令

生成的鏡像

運行容器

創(chuàng)建容器并運行,執(zhí)行命令docker run -idt -p 80:80 --name bhhello bhhello:1.0.0-SNAPSHOT矫俺。執(zhí)行docker ps 查看運行中的容器吱殉。

啟動容器

訪問測試
訪問測試

訪問服務正常,為什么這里訪問地址是192.168.99.100厘托,這個問題可以到我是這樣使用SpringBoot(安裝docker)找到答案。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末稿湿,一起剝皮案震驚了整個濱河市铅匹,隨后出現的幾起案子,更是在濱河造成了極大的恐慌饺藤,老刑警劉巖包斑,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異涕俗,居然都是意外死亡罗丰,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門再姑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來萌抵,“玉大人,你說我怎么就攤上這事元镀∩芴睿” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵栖疑,是天一觀的道長讨永。 經常有香客問我,道長遇革,這世上最難降的妖魔是什么卿闹? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任揭糕,我火速辦了婚禮,結果婚禮上锻霎,老公的妹妹穿的比我還像新娘插佛。我一直安慰自己,他們只是感情好量窘,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布雇寇。 她就那樣靜靜地躺著,像睡著了一般蚌铜。 火紅的嫁衣襯著肌膚如雪锨侯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天冬殃,我揣著相機與錄音囚痴,去河邊找鬼。 笑死审葬,一個胖子當著我的面吹牛深滚,可吹牛的內容都是我干的。 我是一名探鬼主播涣觉,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼痴荐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了官册?” 一聲冷哼從身側響起生兆,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎膝宁,沒想到半個月后鸦难,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡员淫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年合蔽,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片介返。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡拴事,死狀恐怖,靈堂內的尸體忽然破棺而出映皆,到底是詐尸還是另有隱情挤聘,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布捅彻,位于F島的核電站组去,受9級特大地震影響,放射性物質發(fā)生泄漏步淹。R本人自食惡果不足惜从隆,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一诚撵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧键闺,春花似錦寿烟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至挎塌,卻和暖如春徘六,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背榴都。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工待锈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嘴高。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓竿音,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拴驮。 傳聞我的和親對象是個殘疾皇子春瞬,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345