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

使用Dockerfile制作jdk鏡像的詳細(xì)教程

 更新時間:2024年12月04日 09:50:57   作者:碼農(nóng)小丘  
在Docker的世界里,Dockerfile是一個至關(guān)重要的文本文件,它定義了如何構(gòu)建Docker鏡像,通過編寫Dockerfile,開發(fā)者可以確保他們的應(yīng)用程序及其依賴項(xiàng)被正確地打包、優(yōu)化和部署,本文將深入探討Dockerfile的組成、常用指令以及編寫高效Dockerfile的最佳實(shí)踐

一、Dockerfile的組成

Dockerfile由一系列指令和參數(shù)組成,每條指令都會創(chuàng)建一個新的鏡像層。這些指令告訴Docker如何構(gòu)建鏡像,包括安裝必要的軟件包、復(fù)制文件、設(shè)置環(huán)境變量等。

二:常用Dockerfile指令

1.FROM:指定基礎(chǔ)鏡像。這是構(gòu)建新鏡像的起點(diǎn),可以是任何已經(jīng)存在的鏡像。

2.MAINTAINER :維護(hù)者信息

3.WORKDIR:工作目錄

4.RUN:在鏡像構(gòu)建過程中執(zhí)行命令。這些命令通常用于安裝軟件包、編譯代碼等。

5.ADD:將文件、目錄或遠(yuǎn)程URL內(nèi)容添加到鏡像中。與COPY相比,ADD可以自動解壓壓縮文件。

6.CMD:提供容器啟動時的默認(rèn)命令。Dockerfile中只能有一個CMD指令,如果指定了多個,只有最后一個會生效。

7.ENV:設(shè)置環(huán)境變量。

8.EXPOSE:聲明容器運(yùn)行時監(jiān)聽的端口。

10.ENTRYPOINT:配置容器啟動時運(yùn)行的命令,讓容器以應(yīng)用程序的方式運(yùn)行。

11.VOLUME:創(chuàng)建一個可以從本地主機(jī)或其他容器掛載的掛載點(diǎn),一般用來存放數(shù)據(jù)庫和需要保持的數(shù)據(jù)等。

12.USER:指定運(yùn)行容器時的用戶名或UID。

三、編寫Dockerfile

Dockerfile是Docker鏡像的構(gòu)建腳本,它包含了構(gòu)建鏡像所需的所有指令。以下構(gòu)建一個jdk11鏡像,目錄下包含Dockerfile文件以及jdk壓縮包

# 指定基礎(chǔ)鏡像(如果本地沒有,會去鏡像倉庫拉?。?
FROM hub.atomgit.com/library/centos:7
 
# 維護(hù)者信息
MAINTAINER qzh
 
# 設(shè)置工作目錄
WORKDIR /usr/local/jdk
 
# 拷貝JDK壓縮包到鏡像中
COPY jdk-11.0.24_linux-x64_bin.tar.gz  /usr/local/jdk/
 
  # 配置時區(qū)
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
RUN echo 'Asia/Shanghai' >/etc/timezone
 
# 解壓JDK壓縮包
RUN tar -zxvf  jdk-11.0.24_linux-x64_bin.tar.gz  && rm -rf  jdk-11.0.24_linux-x64_bin.tar.gz
 
# 配置環(huán)境變量
ENV JAVA_HOME=/usr/local/jdk/jdk-11.0.24   
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH

注意

  • ENV中JAVA_HOME行中,需要將jdk-11.x.x替換為解壓后的JDK目錄的實(shí)際名稱

四、構(gòu)建Docker鏡像

在包含Dockerfile的目錄中打開終端或命令提示符,使用docker build命令構(gòu)建新的Docker鏡像:

docker build -t  centos-jdk11  . 

其中,centos-jdk11是鏡像的名稱;.表示Dockerfile在當(dāng)前目錄。

五、驗(yàn)證Docker鏡像

  •   構(gòu)建完成后,可以使用docker images命令查看本地鏡像列表,確認(rèn)新鏡像已經(jīng)創(chuàng)建
docker images
  • 啟動一個新的容器來驗(yàn)證JDK 11是否已正確安裝:
#構(gòu)建容器并進(jìn)入容器
docker run -it centos-jdk11  /bin/bash
  • 在容器內(nèi)部,使用java -version命令來檢查JDK版本:
java -version

如果一切正常,你應(yīng)該會看到JDK 11的版本信息。通過以上步驟,你就可以成功制作一個包含JDK 11的Docker鏡像了。

六:構(gòu)建jar 

可以看之前一篇:Docker一鍵部署SpringBoot項(xiàng)目的多種方式_docker_腳本之家

#基礎(chǔ)鏡像
FROM anapsix/alpine-java:8_server-jre_unlimited
 
# 配置時區(qū)
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 
#配置環(huán)境變量
ENV SERVER_PORT=8001
ENV MYPATH /usr/local
 
# 設(shè)置工作目錄【$MYPATH】使用環(huán)境配置
WORKDIR $MYPATH
 
#將jar添加到鏡像中
ADD /target/docker-demo-encrypted.jar ./app.jar
 
#配置容器啟動時運(yùn)行的命令,運(yùn)行java -jar 
ENTRYPOINT ["java", \
            "-Djava.security.egd=file:/dev/./urandom", \
            "-Dserver.port=${SERVER_PORT}", \
            "-jar", "app.jar"]

到此這篇關(guān)于使用Dockerfile制作jdk鏡像的詳細(xì)教程的文章就介紹到這了,更多相關(guān)Dockerfile制作jdk鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker 搭建lnmp環(huán)境的方法步驟

    docker 搭建lnmp環(huán)境的方法步驟

    這篇文章主要介紹了docker 搭建lnmp環(huán)境的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Docker run流程及鏡像的基本命令詳解

    Docker run流程及鏡像的基本命令詳解

    本文主要介紹了Docker中run流程及鏡像的基本命令,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • docker容器內(nèi)網(wǎng)絡(luò)請求緩慢問題解決

    docker容器內(nèi)網(wǎng)絡(luò)請求緩慢問題解決

    在使用docker的過程中發(fā)現(xiàn)了幾個問題,在docker里進(jìn)行的網(wǎng)絡(luò)請求經(jīng)常會失敗,這篇文章主要介紹了docker容器內(nèi)網(wǎng)絡(luò)請求緩慢問題解決
    2019-01-01
  • Docker 安裝 Neo4j 保姆級教程(最新整理)

    Docker 安裝 Neo4j 保姆級教程(最新整理)

    本文詳細(xì)介紹了如何在Windows和Linux環(huán)境下通過Docker安裝和配置 Neo4j圖數(shù)據(jù)庫,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-10-10
  • Docker初級網(wǎng)絡(luò)端口映射的配置

    Docker初級網(wǎng)絡(luò)端口映射的配置

    這篇文章主要介紹了Docker初級網(wǎng)絡(luò)端口映射的配置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 云centos開啟docker遠(yuǎn)程服務(wù)鏈接的實(shí)現(xiàn)步驟

    云centos開啟docker遠(yuǎn)程服務(wù)鏈接的實(shí)現(xiàn)步驟

    本文主要介紹了云centos開啟docker遠(yuǎn)程服務(wù)鏈接,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • docker安裝kong網(wǎng)關(guān)的方法示例

    docker安裝kong網(wǎng)關(guān)的方法示例

    這篇文章主要介紹了docker安裝kong網(wǎng)關(guān)的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Docker批量容器編排的實(shí)現(xiàn)

    Docker批量容器編排的實(shí)現(xiàn)

    這篇文章主要介紹了Docker批量容器編排的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 解決Docker x509 insecure registry的問題

    解決Docker x509 insecure registry的問題

    這篇文章主要介紹了解決Docker x509 insecure registry的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • docker-compose使用volumes注意項(xiàng)介紹

    docker-compose使用volumes注意項(xiàng)介紹

    這篇文章主要介紹了docker-compose使用volumes注意項(xiàng),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03

最新評論

南开区| 焦作市| 厦门市| 巫山县| 建昌县| 古蔺县| 文安县| 桂东县| 巴林右旗| 南汇区| 延寿县| 竹北市| 新宁县| 蕉岭县| 桦川县| 格尔木市| 南部县| 江达县| 龙海市| 班玛县| 江城| 莒南县| 乐亭县| 龙海市| 新河县| 纳雍县| 扶沟县| 恩施市| 钦州市| 四会市| 彝良县| 常熟市| 祥云县| 商城县| 宜昌市| 原阳县| 明光市| 怀宁县| 郑州市| 蒙自县| 洱源县|