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

springboot項(xiàng)目打docker鏡像實(shí)例(入門級)

 更新時(shí)間:2024年06月10日 09:55:01   作者:記憶機(jī)器  
最近做個(gè)項(xiàng)目,我們想把自己的程序打包成鏡像,并運(yùn)行在docker容器中,本文主要介紹了springboot項(xiàng)目打docker鏡像實(shí)例,具有一定的參考價(jià)值,感興趣的可以了解一下

1.新建一個(gè)springboot項(xiàng)目

使用IDEA new 一個(gè)maven項(xiàng)目,建立最簡單的項(xiàng)目結(jié)構(gòu),一個(gè)pom.xml,一個(gè)applicaion.yml,一個(gè)啟動類,一個(gè)controller

 pom.xml內(nèi)容如下:

spring-boot-starter-web依賴是spring boot web項(xiàng)目的依賴包

spring-boot-maven-plugin是springboot項(xiàng)目打jar包需要的插件,其中mainClass指定啟動類

<?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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.bear.big</groupId>
    <artifactId>Forest</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <start-class>com.bear.big.Boss</start-class>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.6.1</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <mainClass>${start-class}</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

applicaiton.yml內(nèi)容如下:

server:
  port: 8080

 Boss啟動類:

package com.bear.big;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Boss {
    public static void main(String[] args) {
        SpringApplication.run(Boss.class,args);
    }
}

TestController如下:

package com.bear.big.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {
    @GetMapping("/cut")
    public String cut(){
        return "tree";
    }
}

然后就可以啟動這個(gè)服務(wù)了,訪問http://localhost:8080/cut :

打jar包:

在IDEA右側(cè)maven標(biāo)簽下,找到項(xiàng)目名-> lifecycle -> package,執(zhí)行,就會在target下生成項(xiàng)目的jar包。

 或者在項(xiàng)目路徑下,打開terminal,直接執(zhí)行mvn clean install ,也有同樣的效果

mvn clean install

2.編寫Dockerfile

上面的步驟已經(jīng)生成了一個(gè)可以運(yùn)行的jar包,這一步就是如何將jar包打到docker鏡像中

  • 新建一個(gè)空目錄Docker,將jar包拷貝到Docker目錄下;
  • 新建一個(gè)文件Dockerfile 
  • 將jdk安裝包拷貝到Docker目錄下(下載url:Java Downloads | Oracle   需要注冊oracle賬戶,登錄)

Docker目錄結(jié)構(gòu)如下:

 Dockerfile內(nèi)容如下:

FROM ubuntu:18.04
LABEL author=jiyijiqi

# 安裝jdk
ADD jdk-8u311-linux-x64.tar.gz /usr/local/java
RUN ln -s /usr/local/java/jdk1.8.0_311 /usr/local/java/jdk
ENV JAVA_HOME /usr/local/java/jdk
ENV JRE_HOME ${JAVA_HOME}}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH ${JAVA_HOME}/bin:$PATH

# 工作目錄
WORKDIR /workspace
# 拷貝jar包
COPY Forest-1.0-SNAPSHOT.jar /workspace
# 聲明暴露端口
EXPOSE 8080
# 容器啟動的默認(rèn)命令
CMD ["java","-jar","Forest-1.0-SNAPSHOT.jar"]

3.生成鏡像并運(yùn)行

做完上述準(zhǔn)備工作后,正式開始打鏡像

windows打開powershell(快捷鍵win+x),進(jìn)入Docker目錄,或者直接在目錄窗口輸入powershell

 docker 打鏡像的命令為 docker build -t [name]:tag [dir],本次實(shí)例如下

docker build -t forest:1.0 .

一個(gè)自定義docker鏡像就打好了。執(zhí)行docker images查看本地當(dāng)前鏡像列表。

docker images

下面開始運(yùn)行容器

執(zhí)行docker run, -it 表示以交互模式打開, --rm表示退出后自動刪除容器,方便調(diào)試,-p 將本機(jī)8080端口映射到容器內(nèi)部,前面的8080是本機(jī),后面的是容器內(nèi)部端口

docker run -it --rm -p 8080:8080 forest:1.0

 容器運(yùn)行后,訪問服務(wù):

成功!

如果想讓容器在后臺一直跑,多加個(gè)-d參數(shù)即可。

docker run -itd --rm -p 8080:8080 forest:1.0

關(guān)于dockerfile的其他詳細(xì)參數(shù),可以參考這篇

Dockerfile命令參數(shù)

4.將鏡像推送至dockerHub

鏡像推送至遠(yuǎn)程倉庫,團(tuán)隊(duì)其他成員就可以拉取、運(yùn)行你的鏡像

準(zhǔn)備工作:

首先,注冊dockerhub賬號 https://hub.docker.com

注冊完后成登錄,新建一個(gè)倉庫,點(diǎn)擊create Rpository

 名稱隨便輸入,比如aaa, 權(quán)限設(shè)置為public

 建好之后回到首頁就能看到你的倉庫列表里有了,點(diǎn)進(jìn)去能看到倉庫詳情,如何推送等等

 開始推送:

執(zhí)行docker tag重新將鏡像標(biāo)為docker hub提示的格式,如上圖紅框里的,tagname自定義,這里是版本號1.0

 docker tag forest:1.0 bearbigk/aaaa:1.0

執(zhí)行docker login,使用賬號登錄遠(yuǎn)程倉庫,首次登錄要輸入用戶名密碼

docker login

 隨后執(zhí)行docker push

docker push bearbigk/aaaa:1.0

推送進(jìn)行中,有點(diǎn)慢

 推送完成后,dockerHub倉庫中就多了一個(gè)tag。其他人執(zhí)行docker pull 就可以拉取你的鏡像了

docker pull bearbigk/aaaa:1.0

到此這篇關(guān)于springboot項(xiàng)目打docker鏡像實(shí)例(入門級)的文章就介紹到這了,更多相關(guān)springboot打docker鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JAVA使用POI獲取Excel的列數(shù)與行數(shù)

    JAVA使用POI獲取Excel的列數(shù)與行數(shù)

    Apache POI 是用Java編寫的免費(fèi)開源的跨平臺的 Java API,Apache POI提供API給Java程式對Microsoft Office格式檔案讀和寫的功能。 下面這篇文章給大家介紹了JAVA使用POI獲取Excel列數(shù)和行數(shù)的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • 詳解SpringCloud是如何動態(tài)更新配置的

    詳解SpringCloud是如何動態(tài)更新配置的

    spring cloud在config配置管理的基礎(chǔ)上,提供了consul config的配置管理和動態(tài)監(jiān)聽,那么這里面到底是怎樣實(shí)現(xiàn)的,本文將為你揭秘,感興趣的小伙伴可以跟著小伙伴一起來學(xué)習(xí)
    2023-06-06
  • 細(xì)數(shù)java for循環(huán)中的那些坑

    細(xì)數(shù)java for循環(huán)中的那些坑

    這篇文章主要介紹了Java for循環(huán)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • Spring Bean初始化的三種常用方式(易懂版)

    Spring Bean初始化的三種常用方式(易懂版)

    在Spring框架開發(fā)中,Bean的生命周期管理是核心基礎(chǔ)知識點(diǎn),而Bean初始化作為生命周期中的關(guān)鍵環(huán)節(jié),負(fù)責(zé)在Bean實(shí)例創(chuàng)建并完成依賴注入后,執(zhí)行資源加載、參數(shù)配置、緩存初始化等核心業(yè)務(wù)邏輯,本文將詳細(xì)拆解Spring中3種主流的Bean初始化方式,需要的朋友可以參考下
    2025-12-12
  • 將Maven鏡像源更改為阿里鏡像的操作步驟

    將Maven鏡像源更改為阿里鏡像的操作步驟

    在軟件開發(fā)中,Maven是一個(gè)流行的項(xiàng)目管理工具,它允許你從Maven中央倉庫下載所需的依賴包,然而,由于地理位置或網(wǎng)絡(luò)狀況的差異,從默認(rèn)的Maven中央倉庫下載依賴包的速度可能會較慢,所
    2025-01-01
  • 詳解OpenFeign服務(wù)調(diào)用(微服務(wù))

    詳解OpenFeign服務(wù)調(diào)用(微服務(wù))

    OpenFeign是Spring Cloud在Feign的基礎(chǔ)上支持了SpringMVC的注解,如@RequesMapping等等,這篇文章主要介紹了OpenFeign服務(wù)調(diào)用的相關(guān)知識,需要的朋友可以參考下
    2022-07-07
  • SpringBoot接收與響應(yīng)xml報(bào)文請求的實(shí)現(xiàn)

    SpringBoot接收與響應(yīng)xml報(bào)文請求的實(shí)現(xiàn)

    我們在進(jìn)行接口對接時(shí),會出現(xiàn)報(bào)文形式的信息傳遞,這篇文章主要給大家介紹了關(guān)于SpringBoot接收與響應(yīng)xml報(bào)文請求的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • java生成xml格式文件的方法

    java生成xml格式文件的方法

    這篇文章主要介紹了java生成xml格式文件的方法,涉及java節(jié)點(diǎn)遍歷與屬性操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • Java中對于并發(fā)問題的處理思路分享

    Java中對于并發(fā)問題的處理思路分享

    并發(fā)粗暴的解釋就是一段代碼,在同一時(shí)間段內(nèi),被多個(gè)線程同時(shí)處理的情況就是并發(fā)現(xiàn)象。這篇文章和大家分享了一些對于并發(fā)問題的處理思路,需要的可以參考一下
    2023-02-02
  • Java Durid進(jìn)行JDBC連接詳解

    Java Durid進(jìn)行JDBC連接詳解

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章簡單使用Durid進(jìn)行JDBC連接,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-09-09

最新評論

南召县| 成安县| 临西县| 滦平县| 富平县| 广饶县| 溧水县| 名山县| 临城县| 绥化市| 东阿县| 天门市| 深泽县| 辽宁省| 陈巴尔虎旗| 长沙县| 于田县| 南漳县| 宣威市| 白玉县| 安阳市| 岳西县| 正蓝旗| 佳木斯市| 栾川县| 汤原县| 大田县| 寿阳县| 天祝| 河东区| 望谟县| 桐城市| 石林| 托克托县| 乌兰县| 陇西县| 临沧市| 慈溪市| 陕西省| 佛教| 吉安县|