成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

SpringBoot非官方教程 | 第二十四篇: springboot整合docker

piapia / 2527人閱讀

摘要:是一個(gè)開源的應(yīng)用容器引擎,基于語言并遵從協(xié)議開源。準(zhǔn)備工作環(huán)境環(huán)境或不要用對(duì)一無所知的看教程。創(chuàng)建一個(gè)工程引入的起步依賴,創(chuàng)建一個(gè)將工程容器化有一個(gè)簡單的文件作為指定鏡像的圖層。說明的工程已部署。停止鏡像刪除鏡像參考資料源碼下載

這篇文篇介紹,怎么為 springboot程序構(gòu)建一個(gè)docker鏡像。docker 是一個(gè)開源的應(yīng)用容器引擎,基于 Go 語言 并遵從Apache2.0協(xié)議開源。Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。

準(zhǔn)備工作

環(huán)境:

linux環(huán)境或mac,不要用windows
jdk 8
maven 3.0
docker

對(duì)docker一無所知的看docker教程。

創(chuàng)建一個(gè)springboot工程

引入web的起步依賴,創(chuàng)建一個(gè) Controler:

 @SpringBootApplication
    @RestController
    public class SpringbootWithDockerApplication {
    
        @RequestMapping("/")
        public String home() {
            return "Hello Docker World";
        }
        public static void main(String[] args) {
            SpringApplication.run(SpringbootWithDockerApplication.class, args);
        }

}
將springboot工程容器化

Docker有一個(gè)簡單的dockerfile文件作為指定鏡像的圖層。讓我們先創(chuàng)建一個(gè) dockerFile文件:

src/main/docker/Dockerfile:

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD springboot-with-docker-0.0.1-SNAPSHOT.jar app.jar
RUN sh -c "touch /app.jar"
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

我們通過maven 構(gòu)建docker鏡像。

在maven的pom目錄,加上docker鏡像構(gòu)建的插件


   springio


    
        
            com.spotify
            docker-maven-plugin
            0.4.11
            
                ${docker.image.prefix}/${project.artifactId}
                src/main/docker
                
                    
                        /
                        ${project.build.directory}
                        ${project.build.finalName}.jar
                    
                
            
        
    

注意:${docker.image.prefix} 為你在 docker官方倉庫的用戶名,如果你不需要上傳鏡像,隨便填。

通過maven 命令:

第一步:mvn clean

第二步: mvn package docker:bulid ,如下:

Step 2/6 : VOLUME /tmp
—> Running in a98be3878053
—> 8286e98b54c5
Removing intermediate container a98be3878053
Step 3/6 : ADD springboot-with-docker-0.0.1-SNAPSHOT.jar app.jar
—> c6ce13e50bbd
Removing intermediate container a303a3058869
Step 4/6 : RUN sh -c ‘touch /app.jar’
—> Running in cf231afe700e
—> 9a0ec8936c00
Removing intermediate container cf231afe700e
Step 5/6 : ENV JAVA_OPTS “”
—> Running in e192597fc881
—> 2cb0d73bbdb0
Removing intermediate container e192597fc881
Step 6/6 : ENTRYPOINT sh -c java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar
—> Running in ab85f53fcdd8
—> 60fdb5c61692
Removing intermediate container ab85f53fcdd8
Successfully built 60fdb5c61692
[INFO] Built forezp/springboot-with-docker
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 01:45 min
[INFO] Finished at: 2017-04-19T05:37:44-07:00
[INFO] Final Memory: 19M/48M
[INFO] ————————————————————————

鏡像構(gòu)建成功。查看鏡像:

docker images

顯示:

forezp/springboot-with-docker latest 60fdb5c61692 About a minute ago 195 MB

啟動(dòng)鏡像:

$ docker run -p 8080:8080 -t forezp/springboot-with-docker

打開瀏覽器訪問 localhost:8080;瀏覽器顯示:Hello Docker World。
說明docker 的springboot工程已部署。

停止鏡像:

docker stop 60fdb5c61692

刪除鏡像:

docker rm 60fdb5c61692
參考資料

https://docs.docker.com/engin...

http://www.runoob.com/docker/...

源碼下載

https://github.com/forezp/Spr...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/71468.html

相關(guān)文章

  • SpringBoot官方教程 | 第四篇:在springboot中用redis實(shí)現(xiàn)消息隊(duì)列

    摘要:環(huán)境依賴創(chuàng)建一個(gè)新的工程,在其文件加入依賴創(chuàng)建一個(gè)消息接收者類,它是一個(gè)普通的類,需要注入到中。 這篇文章主要講述如何在springboot中用reids實(shí)現(xiàn)消息隊(duì)列。 準(zhǔn)備階段 安裝redis,可參考我的另一篇文章,5分鐘帶你入門Redis。 java 1.8 maven 3.0 idea 環(huán)境依賴 創(chuàng)建一個(gè)新的springboot工程,在其pom文件,加入spring-boot-...

    APICloud 評(píng)論0 收藏0
  • SpringBoot官方教程 | 第四篇SpringBoot 整合JPA

    摘要:全稱通過注解或描述對(duì)象關(guān)系表的映射關(guān)系,并將運(yùn)行期的實(shí)體對(duì)象持久化到數(shù)據(jù)庫中。從功能上來說,就是功能的一個(gè)子集。通過請(qǐng)求測試,代碼已經(jīng)全部通過測試。 JPA全稱Java Persistence API.JPA通過JDK 5.0注解或XML描述對(duì)象-關(guān)系表的映射關(guān)系,并將運(yùn)行期的實(shí)體對(duì)象持久化到數(shù)據(jù)庫中。 JPA 的目標(biāo)之一是制定一個(gè)可以由很多供應(yīng)商實(shí)現(xiàn)的API,并且開發(fā)人員可以編碼來實(shí)...

    Flands 評(píng)論0 收藏0
  • 一起來學(xué)SpringBoot | 第四篇整合Thymeleaf模板

    摘要:在使用上述模板,默認(rèn)從下加載。介紹是現(xiàn)代化服務(wù)器端的模板引擎,不同與其它幾種模板的是的語法更加接近,并且具有很高的擴(kuò)展性。特點(diǎn)支持無網(wǎng)絡(luò)環(huán)境下運(yùn)行,由于它支持原型,然后在標(biāo)簽里增加額外的屬性來達(dá)到模板數(shù)據(jù)的展示方式。 SpringBoot 是為了簡化 Spring 應(yīng)用的創(chuàng)建、運(yùn)行、調(diào)試、部署等一系列問題而誕生的產(chǎn)物,自動(dòng)裝配的特性讓我們可以更好的關(guān)注業(yè)務(wù)本身而不是外部的XML配置,...

    TZLLOG 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<