婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Spring Boot 打包上傳Docker 倉庫的詳細步驟

Spring Boot 打包上傳Docker 倉庫的詳細步驟

熱門標簽:400電話申請方案 在百度地圖標注車輛 貴陽教育行業電話外呼系統 撫順移動400電話申請 藍點外呼系統 寧夏房產智能外呼系統要多少錢 做外呼系統的公司違法嗎 威海人工外呼系統供應商 烏海智能電話機器人

重要提示:學習本文之前需要提前了解docker容器相關的知識,了解和熟練運用常用的docker操作命令,如果已經了解了docker容器相關的知識那我們就開搞吧!

以下是完成標題所述功能的大致步驟:

搭建docker鏡像倉庫

修改Spring Boot 配置文件添加docker倉庫配置,打包,上傳至docker 鏡像倉庫

從自己搭的docker鏡像倉庫拉取上傳的鏡像文件并運行

Step1 搭建docker鏡像私有倉庫

搭建docker鏡像倉庫我們需要依賴docker-registry工具 ,docker-registry是官方提供的工具,可以用于構建私有的鏡像倉庫。本文內容基于 docker-registry v2.x 版本 官方地址:https://docs.docker.com/registry/

1.拉取registry 鏡像文件

docker pull registry  

2.啟動鏡像

$ docker run -d \

    -p 5000:5000 \

    -v /opt/data/registry:/var/lib/registry \

    registry

-d:守護線程啟動
-p:端口映射 宿主機的端口:容器的端口
-v:數據卷把容器內的地址目錄映射到宿主機中/opt/data/registry就是宿主機中鏡像私有倉庫存放鏡像的位置
registry 就是鏡像名

3.配置daemon.json文件加入,倉庫配置

vim /etc/docker/daemon.json

添加配置如下:

{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [
    "yourip:5000"
  ]
}

在原來的daemon.json 文件添加 insecure-registries 節點配置,yourip :填寫你的虛擬機ip, 保存退出 重新加載配置文件和重新啟動docker

systemctl daemon-reload
systemctl restart docker

4.測試把鏡像上傳到自己的鏡像倉庫,我們標記一個鏡像然后上傳的倉庫 使用 docker tag 命令:docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]

docker tag ubuntu:latest 127.0.0.1:5000/ubuntu:latest

(這里測試上傳的鏡像不必和文中相同,你可以pull 一個 tomcat 鏡像然后上傳即可) 此時會生成一個標記的鏡像

docker image ls
REPOSITORY                        TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu                            latest              ba5877dc9bec        6 weeks ago         192.7 MB
127.0.0.1:5000/ubuntu:latest      latest              ba5877dc9bec        6 weeks ago         192.7 MB

push 到私有倉庫

docker push 127.0.0.1:5000/ubuntu:latest

查看私有倉庫的鏡像(其實可以去啟動倉庫時掛載的目錄下看,本文可以到宿主機 /opt/data/registry 目錄下查看了上傳的鏡像文件)

curl 127.0.0.1:5000/v2/_catalog

把私有倉庫的鏡像pull 下來

docker pull 127.0.0.1:5000/ubuntu:latest

pull 下來沒問題那就說明鏡像倉庫已經搭建好了

Step 2 修改SpringBoot 配置文件添加docker倉庫配置,打包,上傳至docker 鏡像倉庫

在配置SpringBoot項目之前,還需要對docker 容器做一些配置,才能把jar包上傳到倉庫

開啟docker遠程api,修改文件,

vim /lib/systemd/system/docker.service

原來ExecStart :ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

添加**-H tcp://0.0.0.0:2375**

修改后:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock

(如果你使用的是阿里云服務器記得去出入規則那里打開2375這個端口哦!)

保存退出,重新加載配置和啟動docker

systemctl daemon-reload 
systemctl restart docker

查看配置是否成功,

docker -H 127.0.0.1 info

輸出如下就是配置成功:

Client:
Debug Mode: false

Server:
Containers: 5
Running: 1
Paused: 0
Stopped: 4
Images: 6
Server Version: 19.03.3
Storage Driver: overlay2
.......

配置springboot 項目,pom文件添加打包配置如下

<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>1.1.0</version>
    <executions>
        <execution>
            <id>build-image</id>
            <phase>package</phase>
            <goals>
                <goal>build</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <imageName>jenkins_test/${project.artifactId}:${project.version}</imageName>
        <dockerHost>http://yourip:2375</dockerHost>
        <baseImage>java:8</baseImage>
        <entryPoint>["java", "-jar","/${project.build.finalName}.jar"]
        </entryPoint>
        <resources>
            <resource>
                <targetPath>/</targetPath>
                <directory>${project.build.directory}</directory>
                <include>${project.build.finalName}.jar</include>
            </resource>
        </resources>
    </configuration>
</plugin>
  • executions.execution.phase:此處配置了在maven打包應用時構建docker鏡像;
  • imageName:用于指定鏡像名稱,jenkins_test是倉庫名稱,{project.version}為鏡像版本號;
  • dockerHost:打包后上傳到的docker服務器地址;
  • baseImage:該應用所依賴的基礎鏡像,此處為java;
  • entryPoint:docker容器啟動時執行的命令;
  • resources.resource.targetPath:將打包后的資源文件復制到該目錄;
  • resources.resource.directory:需要復制的文件所在目錄,maven打包的應用jar包保存在target目錄下面;
  • resources.resource.include:需要復制的文件,打包好的應用jar包。

配置好以上內容后就可以打包了,(正常的springboot maven 打包,或者idea mavenproject install 即可)

打包成功完成后,回到docker容器 查看鏡像倉庫

curl 127.0.0.1:5000/v2/_catalog

確認存在之后將上傳的鏡像拉取下來,拉取成功后查看鏡像列表

docker iamges

顯示如圖:

這樣就說明這一套操作成功了 ,首次打包可能比較慢 因為docker 要拉去一下 java :8 基礎鏡像

我們來啟動一下這個鏡像

docker run -p 8080:8080 imageid

-p:端口映射

啟動成功如圖:

因為springboot 項目的application.yml文件中配置的server.port 為8080.啟動的時候需要映射 8080:8080 第一個8080 是宿柱機的端口 第二個8080 是容器的端口

到此本文的所需要實現的都已經實現了,繼續閱讀有彩蛋哦!!!!

在springboot 項目中有一個日志配置,如下

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
    <!--定義日志文件的存儲地址 勿在 LogBack 的配置中使用相對路徑-->
    <property name="LOG_HOME" value="/home/logs" />
    <!-- 控制臺輸出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- 按照每天生成日志文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件輸出的文件名-->
            <FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日志文件保留天數-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
        <!--日志文件最大的大小-->
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>10MB</MaxFileSize>
        </triggeringPolicy>
    </appender>

    <!-- 日志輸出級別 -->
    <root level="info">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>
</configuration>

我們要注意這個節點配置的logs 文件的保存地址

如果按照傳統的jar包部署方式,日志文件應該就在宿主機的 /home/logs 里面了但是現在我們發現都沒有這個目錄了,那問題出現在哪?日志文件輸出到哪了??我們進入啟動的springboot容器試一試,以交互形式進入一個已經在運行的容器內部

docker exec -it containerid bash

我們就看到里面有一個 home目錄,依次進入目錄我們會發現日志文件在這里了!

思考,我們前面不是使用到了數據卷的命令嘛,是否可以把容器內的路徑映射到虛擬機上?試試吧!停掉啟動的容器,(我們直接刪除吧)

docker stop containerid
docker rm containerid

重新啟動容器

docker run -d -p 8080:8080 -v /home/logs:/home/logs imageid

這次我們命令加了一個 -d 意思是守護線程啟動 (后臺運行) 使用如下命令 查看啟動的容器日志

docker logs -f  containerID

可以看到,啟動成功了,那么 按理說 locback.xml 會在我們映射的宿主機的 /home/logs 目錄下輸出我們的日志文件,我們去看看 輸入一系列命令,可以看到日志文件真的在這里了!

到此這篇關于Spring Boot 打包上傳Docker 倉庫的詳細步驟的文章就介紹到這了,更多相關Spring Boot 打包上傳內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:朝陽 那曲 銅川 周口 蕪湖 慶陽 泰州 松原

巨人網絡通訊聲明:本文標題《Spring Boot 打包上傳Docker 倉庫的詳細步驟》,本文關鍵詞  Spring,Boot,打包,上傳,Docker,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Spring Boot 打包上傳Docker 倉庫的詳細步驟》相關的同類信息!
  • 本頁收集關于Spring Boot 打包上傳Docker 倉庫的詳細步驟的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    风流少妇一区二区| 91免费看`日韩一区二区| 国产精品欧美一区二区三区| 在线国产亚洲欧美| 亚洲精品一二三| 99久久精品一区二区| 亚洲乱码国产乱码精品精98午夜| 9i看片成人免费高清| 一区二区免费看| 欧美三级乱人伦电影| 久久精品久久久精品美女| 日韩精品一区国产麻豆| 国产成人av电影在线| 亚洲美女视频在线| 日韩一区二区中文字幕| 粉嫩一区二区三区性色av| 亚洲精品综合在线| 欧美精品粉嫩高潮一区二区| 精品一区二区日韩| 中文字幕在线观看一区| 欧美夫妻性生活| 成人一区二区三区视频| 夜夜嗨av一区二区三区| 欧美精品一区二区久久婷婷| 成人av免费在线| 天天亚洲美女在线视频| 日本一区二区三级电影在线观看 | 秋霞电影网一区二区| 久久蜜桃av一区精品变态类天堂| 99久久精品免费| 久久成人18免费观看| 综合电影一区二区三区| 日韩免费福利电影在线观看| 不卡av在线免费观看| 天堂蜜桃91精品| 国产精品第四页| 91精品国产91热久久久做人人| 国产99久久久国产精品免费看| 亚洲一区免费在线观看| 久久久久久久久久久久久女国产乱| 91在线视频观看| 国产九色sp调教91| 视频一区视频二区中文| 成人欧美一区二区三区在线播放| 91麻豆精品国产91久久久久久久久| 成人免费毛片app| 久久成人麻豆午夜电影| 亚洲成人av电影| 亚洲欧洲精品成人久久奇米网| 欧美一二三四区在线| 色一区在线观看| 国产成人精品一区二区三区网站观看| 香蕉av福利精品导航| 最新中文字幕一区二区三区| 精品日韩在线一区| 日韩三级视频在线看| 欧美视频在线一区二区三区| www.日韩精品| 成人av在线看| 国产成人精品亚洲日本在线桃色 | 91一区二区在线观看| 精品一区二区在线观看| 秋霞国产午夜精品免费视频| 亚洲电影一区二区三区| 亚洲精品水蜜桃| 一区在线观看视频| 中文字幕免费不卡在线| 久久久久久久电影| 久久久精品黄色| 久久精品在这里| 开心九九激情九九欧美日韩精美视频电影 | 欧美亚洲国产一卡| 色综合久久综合中文综合网| 97久久精品人人爽人人爽蜜臀| 成a人片亚洲日本久久| 成人av小说网| 91丨九色丨尤物| 91国产福利在线| 欧美欧美欧美欧美| 欧美一区二区视频在线观看2020 | 欧美日韩一区二区在线观看视频| 在线免费观看日本欧美| 欧美色视频在线观看| 777精品伊人久久久久大香线蕉| 欧美日韩午夜精品| 欧美一级午夜免费电影| 久久嫩草精品久久久精品一| 国产三级精品在线| 亚洲欧美成aⅴ人在线观看| 亚洲一区二区三区中文字幕在线 | 麻豆精品在线播放| 精品一区二区三区免费观看| 国产不卡视频一区二区三区| 99久久99久久久精品齐齐| 色婷婷精品久久二区二区蜜臀av| 欧美日韩一区视频| 欧美精品一区二区高清在线观看| 久久综合色天天久久综合图片| 欧美激情综合五月色丁香小说| 亚洲婷婷综合久久一本伊一区| 亚洲午夜国产一区99re久久| 日本欧美一区二区| 成人黄色777网| 欧美精品自拍偷拍| 久久综合九色综合97婷婷女人 | 国产精品理论片在线观看| 亚洲欧美日韩人成在线播放| 亚洲成人av一区二区三区| 美女mm1313爽爽久久久蜜臀| 岛国精品一区二区| 在线不卡欧美精品一区二区三区| 26uuu亚洲| 亚洲一区二区三区四区在线免费观看| 美女一区二区三区| 色一情一乱一乱一91av| 久久综合九色欧美综合狠狠| 综合久久给合久久狠狠狠97色 | 国产·精品毛片| 国产乱码字幕精品高清av| 91在线看国产| 欧美tickling网站挠脚心| 亚洲免费三区一区二区| 久久国产综合精品| 欧美最猛性xxxxx直播| 久久久精品国产99久久精品芒果| 亚洲欧美日韩中文字幕一区二区三区 | 国产精品性做久久久久久| 欧洲激情一区二区| 欧美国产日本视频| 奇米精品一区二区三区在线观看| 99精品国产一区二区三区不卡| 欧美一区二区三区在线观看视频| 自拍偷拍国产精品| 国产一区二区美女诱惑| 欧美猛男gaygay网站| 亚洲视频 欧洲视频| 久久99精品久久久久久国产越南 | 精品成人佐山爱一区二区| 亚洲成人一区在线| 日本韩国精品在线| 国产精品日韩精品欧美在线| 国精产品一区一区三区mba桃花 | 精品国产区一区| 亚洲一二三四久久| eeuss鲁片一区二区三区在线观看| 精品国产露脸精彩对白| 青娱乐精品视频在线| 欧美日韩大陆一区二区| 亚洲欧美日本韩国| 91日韩精品一区| 国产精品麻豆99久久久久久| 国产麻豆精品在线观看| 欧美变态口味重另类| 久久草av在线| 精品美女在线观看| 久久精品国产99久久6| 91精品福利在线一区二区三区| 一区二区三区在线视频观看58 | 最新国产成人在线观看| 成人免费高清在线观看| 国产日韩欧美综合一区| 美美哒免费高清在线观看视频一区二区 | 97精品国产露脸对白| 中文字幕中文字幕中文字幕亚洲无线| 国产成人鲁色资源国产91色综 | 国产一区二区三区在线看麻豆| 欧美日韩一区三区四区| 午夜一区二区三区在线观看| 欧美专区亚洲专区| 亚洲国产aⅴ天堂久久| 欧美日韩一区二区三区在线| 亚洲图片自拍偷拍| 日韩一区二区三区四区五区六区| 青草国产精品久久久久久| 精品久久99ma| 大美女一区二区三区| 亚洲三级久久久| 欧美日本在线一区| 久久66热偷产精品| 国产精品毛片无遮挡高清| 色综合久久天天综合网| 日韩国产欧美在线视频| wwwwww.欧美系列| 国产成人在线视频播放| 中文字幕在线不卡国产视频| 在线观看www91| 久久精品国产99| 中文字幕一区二区三区乱码在线| 91蜜桃在线观看| 免费的成人av| 日本一区二区三区四区在线视频 | 一区二区三区在线高清| 欧美一区三区二区| 国产真实乱对白精彩久久| 亚洲色欲色欲www在线观看| 欧美久久高跟鞋激| 国产**成人网毛片九色| 亚洲一区二区黄色| 久久―日本道色综合久久| 色婷婷综合久色|