中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

臺(tái)山網(wǎng)站建設(shè)公司鄭州網(wǎng)站托管

臺(tái)山網(wǎng)站建設(shè)公司,鄭州網(wǎng)站托管,做網(wǎng)站的沒有進(jìn)項(xiàng)票怎么辦,自己做的網(wǎng)站根目錄哪里找到Dockerfile構(gòu)建Springboot鏡像 文章目錄 Dockerfile構(gòu)建Springboot鏡像 簡介實(shí)例演示 前期準(zhǔn)備 Docker環(huán)境Springboot項(xiàng)目Dockerfile文件 Windows 要求構(gòu)建鏡像啟動(dòng)測試 Linux 要求構(gòu)建鏡像啟動(dòng)測試 簡介 容器技術(shù)大流行的時(shí)代,也是docker大流行的時(shí)代。 此文…

Dockerfile構(gòu)建Springboot鏡像

文章目錄

  • Dockerfile構(gòu)建Springboot鏡像
    • 簡介
    • 實(shí)例演示
      • 前期準(zhǔn)備
        • Docker環(huán)境
        • Springboot項(xiàng)目
        • Dockerfile文件
      • Windows
        • 要求
        • 構(gòu)建鏡像
        • 啟動(dòng)測試
      • Linux
        • 要求
        • 構(gòu)建鏡像
        • 啟動(dòng)測試

簡介

容器技術(shù)大流行的時(shí)代,也是docker大流行的時(shí)代。

此文章以一個(gè)簡單的實(shí)例為基礎(chǔ),幫助大家學(xué)習(xí)和了解:如何使用Dockerfile指令構(gòu)建一個(gè)Springboot的Java項(xiàng)目鏡像。

提示:實(shí)例非常簡單,旨在幫助大家了解基礎(chǔ)知識(shí),本文的知識(shí)在實(shí)際工作中肯定是不夠用的,還需要自行根據(jù)實(shí)際情況去學(xué)習(xí),感謝您的閱讀。

實(shí)例演示

  • 具體操作介紹了WindowsLinux兩種方式。

前期準(zhǔn)備

Docker環(huán)境

  • Windows請安裝Docker Desktop:https://docs.docker.com/desktop/install/windows-install/

  • Linux請安裝Docker:https://docs.docker.com/desktop/install/linux-install/

Springboot項(xiàng)目

  • 源碼:learn/java/docker-springboot at main · DingDangDog/learn (github.com)

  • Jar包下載地址:docker-springboot-1.0.jar.zip

  • Controller代碼示例:

package io.github.dingdangdog.controller;
import io.github.dingdangdog.utils.FileUtilOm;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/*** say hello** @author DingDangDog* @since 2022/10/4 11:13*/
@RestController
@RequestMapping("/say")
public class SayController {@GetMapping("/hello")public String hello(String name) {System.out.println(name);// 保存文件FileUtilOm.saveFile("/tmp/", name, name);return "Hello " + name + " !";}
}

Dockerfile文件

  • 文件名必須為Dockerfile,無拓展名!!!請放在jar包同級(jí)目錄下。
# 基礎(chǔ)鏡像
FROM openjdk:8-jdk
# 作者聲明,原為MAINTAINER,變更為LABEL
# MAINTAINER DingDangDog
LABEL author="DingDangDog"
# 容器卷設(shè)置
VOLUME /tmp
# 向基礎(chǔ)鏡像內(nèi)添加文件,并重命名為`docker_boot.jar`
add docker-springboot-1.0.jar docker_boot.jar
# 執(zhí)行前置腳本。據(jù)說是修改文件時(shí)間?不太明白具體作用,望有大佬指點(diǎn)迷津!
RUN bash -c 'touch /docker_boot.jar'
# 最終執(zhí)行腳本
ENTRYPOINT ["java", "-jar", "/docker_boot.jar"]
# 暴露端口
EXPOSE 10240

指令解析請參考文章:Dockerfile基礎(chǔ)一文通

Windows

要求

  1. 前期準(zhǔn)備

  2. Windows可以正常啟動(dòng)Docker服務(wù):

如下圖,運(yùn)行狀態(tài)綠色為正在運(yùn)行
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-kYndCTFA-1670767109761)(https://github.com/DingDangDog/ddd-document/blob/main/docker/images/image-20221004122548749.png?raw=true)]

構(gòu)建鏡像

  • 在jar包所在文件夾下打開cmd命令行窗口,運(yùn)行構(gòu)建命令:

    docker build -t docker_boot:1.0 .

    命令解析:

    • docker build:構(gòu)建鏡像
    • -t docker_boot:1.0-t=--tag,指定鏡像名稱為docker_boot,版本為1.0
    • . :指定Dockerfile文件在當(dāng)前文件夾下
  • 構(gòu)建成功日志如下:

    [+] Building 76.3s (9/9) FINISHED=> [internal] load build definition from Dockerfile                                                               0.0s=> => transferring dockerfile: 254B                                                                               0.0s=> [internal] load .dockerignore                                                                                  0.0s=> => transferring context: 2B                                                                                    0.0s=> [internal] load metadata for docker.io/library/openjdk:8-jdk                                                   4.6s=> [auth] library/openjdk:pull token for registry-1.docker.io                                                     0.0s=> [internal] load build context                                                                                  0.1s=> => transferring context: 19.65MB                                                                               0.1s=> [1/3] FROM docker.io/library/openjdk:8-jdk@sha256:86e863cc57215cfb181bd319736d0baf625fe8f150577f9eb58bd937f5  70.8s=> => resolve docker.io/library/openjdk:8-jdk@sha256:86e863cc57215cfb181bd319736d0baf625fe8f150577f9eb58bd937f54  0.0s=> => sha256:86e863cc57215cfb181bd319736d0baf625fe8f150577f9eb58bd937f5452cb8 1.04kB / 1.04kB                     0.0s=> => sha256:3af2ac94130765b73fc8f1b42ffc04f77996ed8210c297fcfa28ca880ff0a217 1.79kB / 1.79kB                     0.0s=> => sha256:001c52e26ad57e3b25b439ee0052f6692e5c0f2d5d982a00a8819ace5e521452 55.00MB / 55.00MB                  24.0s=> => sha256:2068746827ec1b043b571e4788693eab7e9b2a95301176512791f8c317a2816a 10.88MB / 10.88MB                  13.1s=> => sha256:b273004037cc3af245d8e08cfbfa672b93ee7dcb289736c82d0b58936fb71702 7.81kB / 7.81kB                     0.0s=> => sha256:d9d4b9b6e964657da49910b495173d6c4f0d9bc47b3b44273cf82fd32723d165 5.16MB / 5.16MB                    18.0s=> => sha256:9daef329d35093868ef75ac8b7c6eb407fa53abbcb3a264c218c2ec7bca716e6 54.58MB / 54.58MB                  43.2s=> => sha256:d85151f15b6683b98f21c3827ac545188b1849efb14a1049710ebc4692de3dd5 5.42MB / 5.42MB                    25.5s=> => sha256:52a8c426d30b691c4f7e8c4b438901ddeb82ff80d4540d5bbd49986376d85cc9 210B / 210B                        25.3s=> => extracting sha256:001c52e26ad57e3b25b439ee0052f6692e5c0f2d5d982a00a8819ace5e521452                          1.9s=> => sha256:8754a66e005039a091c5ad0319f055be393c7123717b1f6fee8647c338ff3ceb 105.92MB / 105.92MB                68.4s=> => extracting sha256:d9d4b9b6e964657da49910b495173d6c4f0d9bc47b3b44273cf82fd32723d165                          0.2s=> => extracting sha256:2068746827ec1b043b571e4788693eab7e9b2a95301176512791f8c317a2816a                          0.2s=> => extracting sha256:9daef329d35093868ef75ac8b7c6eb407fa53abbcb3a264c218c2ec7bca716e6                          2.1s=> => extracting sha256:d85151f15b6683b98f21c3827ac545188b1849efb14a1049710ebc4692de3dd5                          0.2s=> => extracting sha256:52a8c426d30b691c4f7e8c4b438901ddeb82ff80d4540d5bbd49986376d85cc9                          0.0s=> => extracting sha256:8754a66e005039a091c5ad0319f055be393c7123717b1f6fee8647c338ff3ceb                          2.1s=> [2/3] ADD docker-springboot-1.0.jar docker_boot.jar                                                            0.3s=> [3/3] RUN bash -c 'touch /docker_boot.jar'                                                                     0.4s=> exporting to image                                                                                             0.1s=> => exporting layers                                                                                            0.1s=> => writing image sha256:0fcc9c262e90d6a05213ec432924e6835647d233a64ad0747cf7dd406a2a40bd                       0.0s=> => naming to docker.io/library/docker_boot:1.0                                                                 0.0sUse 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
  • 查看鏡像

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-n3Vw2A5r-1670767109762)(https://github.com/DingDangDog/ddd-document/blob/main/docker/images/image-20221004123749354.png?raw=true)]

啟動(dòng)測試

  1. 啟動(dòng)容器

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-92J0OcAd-1670767109763)(https://github.com/DingDangDog/ddd-document/blob/main/docker/images/image-20221004124258074.png?raw=true)]

  1. 調(diào)用測試

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-bNIzrXeA-1670767109764)(https://github.com/DingDangDog/ddd-document/blob/main/docker/images/image-20221004124524928.png?raw=true)]

  1. 查看本地文件:

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-UER0fLaz-1670767109764)(https://github.com/DingDangDog/ddd-document/blob/main/docker/images/image-20221004124636663.png?raw=true)]

Linux

要求

  • 前期準(zhǔn)備

構(gòu)建鏡像

  • 在jar包所在文件夾下運(yùn)行構(gòu)建命令:

    docker build -t docker_boot:1.0 .

    解析:

    • docker build:構(gòu)建鏡像

    • -t docker_boot:1.0-t=--tag,指定鏡像名稱為docker_boot,版本為1.0

    • . :指定Dockerfile文件在當(dāng)前文件夾下

  • 構(gòu)建成功日志:

    Sending build context to Docker daemon  19.65MB
    Step 1/7 : FROM openjdk:8-jdk
    8-jdk: Pulling from library/openjdk
    001c52e26ad5: Pull complete 
    d9d4b9b6e964: Pull complete 
    2068746827ec: Pull complete 
    9daef329d350: Pull complete 
    d85151f15b66: Pull complete 
    52a8c426d30b: Pull complete 
    8754a66e0050: Pull complete 
    Digest: sha256:86e863cc57215cfb181bd319736d0baf625fe8f150577f9eb58bd937f5452cb8
    Status: Downloaded newer image for openjdk:8-jdk---> b273004037cc
    Step 2/7 : MAINTAINER DingDangDog---> Running in 6b19d92591a8
    Removing intermediate container 6b19d92591a8---> 8a491c04d897
    Step 3/7 : VOLUME /tmp---> Running in 696221f7868c
    Removing intermediate container 696221f7868c---> ad7eff7b71e1
    Step 4/7 : add docker-springboot-1.0.jar docker_boot.jar---> 77eb15fd7557
    Step 5/7 : RUN bash -c 'touch /docker_boot.jar'---> Running in 0704d4fd8ab2
    Removing intermediate container 0704d4fd8ab2---> aa9e4ca18365
    Step 6/7 : ENTRYPOINT ["java", "-jar", "/docker_boot.jar"]---> Running in 78ae0e314f8f
    Removing intermediate container 78ae0e314f8f---> cb6f8c91f76c
    Step 7/7 : EXPOSE 10240---> Running in 697a7506c8c8
    Removing intermediate container 697a7506c8c8---> 20bafbe3127b
    Successfully built 20bafbe3127b
    Successfully tagged docker_boot:1.0
  • 查看鏡像docker images

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-jWIs3PEn-1678172652173)(https://github.com/DingDangDog/ddd-document/blob/main/docker/images/image-20221004125527515.png?raw=true)]

啟動(dòng)測試

  1. 啟動(dòng)容器

    docker run -v /var/local/docker/docker-boot-test/tmp:/tmp -p 10240:10240 -d --name docker_boot_test docker_boot:1.0
  2. 調(diào)用測試

    curl http://localhost:10240/say/hello?name=ddd
    # Hello ddd !
http://m.risenshineclean.com/news/59296.html

相關(guān)文章:

  • 俄羅斯網(wǎng)站建設(shè)關(guān)鍵詞搜索愛站網(wǎng)
  • 網(wǎng)站制作自己接單北京云無限優(yōu)化
  • discuz 做網(wǎng)站可以嗎網(wǎng)站頁面優(yōu)化方案
  • 大發(fā) wordpress ifanr網(wǎng)站優(yōu)化排名方案
  • 做一個(gè)營銷型網(wǎng)站需要多少錢論文收錄網(wǎng)站排名
  • 建站教程wp網(wǎng)站seo培訓(xùn)
  • 專業(yè)的網(wǎng)站建設(shè)設(shè)計(jì)價(jià)格網(wǎng)站建設(shè)的好公司
  • wordpress 添加友鏈?zhǔn)裁词莝eo營銷
  • 如何做直播網(wǎng)站百度用戶服務(wù)中心人工24小時(shí)電話
  • 網(wǎng)站廣告推廣公司鄭州seo詢搜點(diǎn)網(wǎng)絡(luò)效果佳
  • 中國建設(shè)招標(biāo)工程網(wǎng)站百度關(guān)鍵詞優(yōu)化多少錢一年
  • 做網(wǎng)站費(fèi)用上海重慶百度推廣關(guān)鍵詞優(yōu)化
  • 做網(wǎng)站建網(wǎng)站大搜推廣
  • 提升網(wǎng)站權(quán)重嗎網(wǎng)頁設(shè)計(jì)圖片
  • 渭南建站打開免費(fèi)百度啊
  • 流量套餐網(wǎng)站網(wǎng)站關(guān)鍵詞免費(fèi)優(yōu)化
  • 東莞市住房和城鄉(xiāng)建設(shè)廳網(wǎng)站首頁站長工具域名解析
  • 有哪些網(wǎng)站能夠免費(fèi)找到素材免費(fèi)seo教程資源
  • 廈門做網(wǎng)站建設(shè)寧波seo軟件
  • 百度做網(wǎng)站搜索靠前百度電話
  • 團(tuán)購鮮花的網(wǎng)站建設(shè)培訓(xùn)機(jī)構(gòu)管理系統(tǒng)
  • 如何網(wǎng)站做淘客海南網(wǎng)站設(shè)計(jì)
  • 網(wǎng)站建設(shè)服務(wù)版權(quán)歸誰2022網(wǎng)站seo
  • 汶上1500元網(wǎng)站建設(shè)88個(gè)seo網(wǎng)站優(yōu)化基礎(chǔ)知識(shí)點(diǎn)
  • 學(xué)院 網(wǎng)站 兩學(xué)一做深圳網(wǎng)站seo外包公司哪家好
  • 網(wǎng)站工作室 需要什么手續(xù)新媒體營銷推廣方案
  • 512 做網(wǎng)站有做網(wǎng)站的嗎
  • 常見的企業(yè)網(wǎng)站有哪些百度店鋪怎么開通
  • 網(wǎng)站開發(fā) 實(shí)訓(xùn) 報(bào)告c++培訓(xùn)班學(xué)費(fèi)一般多少
  • 河南最新任命12個(gè)廳級(jí)360優(yōu)化大師官方下載手機(jī)