最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot 整合 Docker的詳細(xì)過(guò)程

 更新時(shí)間:2021年11月12日 08:41:37   作者:Howl  
這篇文章主要介紹了SpringBoot 整合 Docker的詳細(xì)過(guò)程,本文通過(guò)一個(gè)簡(jiǎn)單的項(xiàng)目來(lái)給大家介紹整合的詳細(xì)過(guò)程,需要的朋友可以參考下

最近備忘錄新加的東西倒是挺多的,但到了新環(huán)境水土不服沒(méi)動(dòng)力去整理筆記

1. Demo Project

首先準(zhǔn)備一個(gè)簡(jiǎn)單的項(xiàng)目,用來(lái)部署到 Docker 主機(jī)上,并且能驗(yàn)證該項(xiàng)目是否成功運(yùn)行

1.1 接口準(zhǔn)備

準(zhǔn)備一個(gè)測(cè)試接口,用于校驗(yàn) Docker 部署是否成功

@RestController
@RequestMapping("/")
public class HelloController {

    @GetMapping("/hello")
    public String helle() {
        return "Hello World";
    }
}

1.2 配置準(zhǔn)備

在 application.yml 文件中添加 Docker 宿主機(jī)地址,方便統(tǒng)一管理(該功能需要安裝依賴插件)

server:
  port: 8080

spring:
  application:
    name: docker-deploy-test

docker:
  host: http://xxx.xxx.xxx.xxx:2375

2. Docker 開(kāi)啟遠(yuǎn)程連接

Docker 也是 Client/Serve 架構(gòu)(dameon守護(hù)進(jìn)程),其默認(rèn)只能本地訪問(wèn), 所以得設(shè)置成可外網(wǎng)訪問(wèn)我們才能部署項(xiàng)目到 Docker 上

1.1 修改配置文件

在 Docker 宿主機(jī)上編輯配置,添加下面一行配置(意思是任何地址都能訪問(wèn) 2375 端口)

$vim /usr/lib/systemd/system/docker.service
 
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock

1.2 刷新配置、重啟

$systemctl daemon-reload
$systemctl restart docker

1.3 認(rèn)證登錄

直接開(kāi)放 2357 端口,那么任何人都可以往 Docker 宿主機(jī)推送東西,筆者當(dāng)初就被推送了挖礦的鏡像,主機(jī)卡死登不上去,后來(lái)只能無(wú)奈重裝系統(tǒng)鏡像。Docker支持使用 SSL 證書(shū)登錄,如果在外網(wǎng)環(huán)境請(qǐng)務(wù)必使用 SSL 登錄(筆者記錄了 OpenSSL 的筆記 ---- 用于認(rèn)證,還沒(méi)來(lái)得及整理)

3. IDEA 安裝 Docker 插件

筆者 2019 版的 IDEA 已經(jīng)默認(rèn)集成了 Docker 插件,不需要再次安裝。只需把遠(yuǎn)程主機(jī)地址和端口配上讓 IDEA 連接 ,最后驗(yàn)證是否連接上遠(yuǎn)程 Docker 主機(jī)即可

這里新建一個(gè) Docker,填上主機(jī)地址會(huì)自動(dòng)連接,顯示 Connection successful 則表示 IDEA 連上宿主機(jī)了

4. Maven 添加 Docker 插件

上一步的 IDEA 插件可以構(gòu)建鏡像并部署了,還能管理 Docker。但筆者是 maven 插件 和 IDEA 插件并用,能夠方便構(gòu)建程序和部署

<!--  docker 插件  -->
<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>1.0.0</version>

    <!--  綁定 docker:build 到 maven 的 package 生命周期  -->
    <executions>
        <execution>
            <id>docker-build-image</id>
            <phase>package</phase>
            <goals>
                <goal>build</goal>
            </goals>
        </execution>
    </executions>

    <!--  插件的配置  -->
    <configuration>
        <!--  構(gòu)建的鏡像的名字 :標(biāo)簽  -->
        <imageName>${project.artifactId}:${project.version}</imageName>
        <!--  存放dockerfile的路徑  -->
        <dockerDirectory>${project.basedir}</dockerDirectory>
        <!--  docker Host 地址,用插件在 initialize 階段從 application.yml 解析  -->
        <dockerHost>${docker.host}</dockerHost>
        <!--  SSL 認(rèn)證證書(shū)地址,若開(kāi)啟 SSL 登錄  -->
        <!--  <dockerCertPath></dockerCertPath>  -->
        <resources>
            <resource>
                <!--  使用什么資源來(lái)構(gòu)建鏡像(就是jar包),以及將鏡像推送到容器的那個(gè)目錄下  -->
                <targetPath>/</targetPath>
                <directory>${project.build.directory}</directory>
                <include>${project.build.finalName}.jar</include>
            </resource>
        </resources>
    </configuration>
</plugin>

5. 編寫(xiě)Dockerfile

創(chuàng)建 Dockerfile 文件,填入下面的內(nèi)容,然后將其放入到項(xiàng)目的根目錄

FROM openjdk:8-jdk-alpine

MAINTAINER [author] [Howl@email.com]

ARG JAR_FILE=/target/*.jar

COPY ${JAR_FILE} app.jar

EXPOSE 8080

ENTRYPOINT ["java","-jar","/app.jar"]

6. 打包項(xiàng)目

在 Maven 插件中綁定了 Package 與 Docker:build 的執(zhí)行過(guò)程,即把項(xiàng)目打包成 jar 之后會(huì)自動(dòng)執(zhí)行 Dockr:build 來(lái)構(gòu)建鏡像并發(fā)布到遠(yuǎn)程 Docker 宿主機(jī)上(若項(xiàng)目較大,那么等待鏡像推送到 Docker 宿主機(jī)上的時(shí)間會(huì)較長(zhǎng))

7. 創(chuàng)建容器

在 IDEA 的插件中可以管理 Docker,點(diǎn)開(kāi)右下角 services 里面可以看到連接上的 Docker 里有剛才構(gòu)建的鏡像,然后我們可以選擇這個(gè)鏡像右鍵來(lái)創(chuàng)建容器

在彈出框里面填入要?jiǎng)?chuàng)建的容器的名字,以及容器映射的端口,最后點(diǎn)擊 Run,等待容器啟動(dòng)即可。啟動(dòng)完成后可以在 IDEA 的插件里看到新建的容器,點(diǎn)擊可以查看容器的詳情

8. 校驗(yàn)部署

使用宿主機(jī)的 IP 地址或域名來(lái)訪問(wèn)剛才發(fā)布的測(cè)試接口

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

相關(guān)文章

  • Dockerfile中yum install無(wú)法使用的問(wèn)題及解決

    Dockerfile中yum install無(wú)法使用的問(wèn)題及解決

    在使用Dockerfile自定義CentOS 7容器過(guò)程中,可能會(huì)遇到容器內(nèi)無(wú)法使用yum命令的問(wèn)題,首先,確認(rèn)主機(jī)是否能聯(lián)網(wǎng),其次,檢查在Dockerfile打包新容器時(shí),容器是否能聯(lián)網(wǎng),若發(fā)現(xiàn)容器無(wú)法聯(lián)網(wǎng),一種解決方法是編輯/etc/docker/daemon.json文件
    2024-11-11
  • 詳解docker下的Mysql鏡像的使用方法

    詳解docker下的Mysql鏡像的使用方法

    本篇文章主要介紹了詳解docker下的Mysql鏡像的使用方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • 清理Docker磁盤(pán)空間的幾種有效方法

    清理Docker磁盤(pán)空間的幾種有效方法

    隨著Docker的廣泛使用,管理Docker占用的磁盤(pán)空間變得越來(lái)越重要,長(zhǎng)時(shí)間運(yùn)行Docker環(huán)境,未使用的容器、鏡像、卷和網(wǎng)絡(luò)等會(huì)逐漸積累,占用大量磁盤(pán)空間,本文將介紹幾種清理Docker磁盤(pán)空間的有效方法,需要的朋友可以參考下
    2024-08-08
  • Docker運(yùn)行鏡像以及退出、刪除容器的實(shí)現(xiàn)方式

    Docker運(yùn)行鏡像以及退出、刪除容器的實(shí)現(xiàn)方式

    這篇文章主要介紹了Docker運(yùn)行鏡像以及退出、刪除容器的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Docker案例分析:搭建MySQL數(shù)據(jù)庫(kù)服務(wù)

    Docker案例分析:搭建MySQL數(shù)據(jù)庫(kù)服務(wù)

    這篇文章主要介紹了Docker案例分析:搭建MySQL數(shù)據(jù)庫(kù)服務(wù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Vue.js中的watch屬性詳解

    Vue.js中的watch屬性詳解

    在Vue.js中,watch屬性是一種非常重要的屬性,它可以監(jiān)聽(tīng)Vue實(shí)例中指定的數(shù)據(jù)變化,并在數(shù)據(jù)發(fā)生變化時(shí)執(zhí)行相應(yīng)的操作,本文將對(duì) Vue.js中的watch屬性進(jìn)行詳細(xì)的介紹,并附上相關(guān)的代碼示例,需要的朋友可以參考下
    2023-06-06
  • docker-compose網(wǎng)絡(luò)設(shè)置之networks的使用

    docker-compose網(wǎng)絡(luò)設(shè)置之networks的使用

    本文詳細(xì)解釋了在使用 Docker Compose時(shí)如何配置網(wǎng)絡(luò),包括創(chuàng)建、使用和問(wèn)題解決等方面,介紹了如何通過(guò)docker-compose.yml文件快速編排和部署應(yīng)用服務(wù),同時(shí)解決網(wǎng)絡(luò)隔離問(wèn)題,感興趣的可以了解一下
    2024-10-10
  • 如何清理docker產(chǎn)生的垃圾文件

    如何清理docker產(chǎn)生的垃圾文件

    這篇文章主要介紹了如何清理docker產(chǎn)生的垃圾文件,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 如何用docker部署kafka

    如何用docker部署kafka

    本文詳細(xì)介紹了使用Docker快速搭建Kafka集群的步驟,包括選用wurstmeister/kafka鏡像、配置文件修改、集群?jiǎn)?dòng)與管理,適合需要在Docker環(huán)境中部署Kafka的開(kāi)發(fā)者參考
    2024-09-09
  • Docker中的COPY指令和ADD指令詳解

    Docker中的COPY指令和ADD指令詳解

    COPY?和?ADD?都是?Dockerfile?中的指令,有著類似的作用。它們?cè)试S我們將文件從特定位置復(fù)制到?Docker?鏡像中,這篇文章主要介紹了Docker中的COPY指令和ADD指令,需要的朋友可以參考下
    2022-06-06

最新評(píng)論

石城县| 高邮市| 盐池县| 治县。| 炎陵县| 吕梁市| 淄博市| 黑河市| 谢通门县| 贵溪市| 东乡族自治县| 葵青区| 什邡市| 汉源县| 荥经县| 贵定县| 黔江区| 龙山县| 合水县| 鞍山市| 武威市| 汝南县| 托克逊县| 康保县| 漳浦县| 敦化市| 定陶县| 萝北县| 本溪市| 蚌埠市| 兰州市| 利川市| 房山区| 怀远县| 什邡市| 会昌县| 临沭县| 太仓市| 天气| 花垣县| 龙陵县|