亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用Dockerfile制作jdk鏡像的詳細教程

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

一、Dockerfile的組成

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

二:常用Dockerfile指令

1.FROM:指定基礎鏡像。這是構建新鏡像的起點,可以是任何已經存在的鏡像。

2.MAINTAINER :維護者信息

3.WORKDIR:工作目錄

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

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

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

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

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

10.ENTRYPOINT:配置容器啟動時運行的命令,讓容器以應用程序的方式運行。

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

12.USER:指定運行容器時的用戶名或UID。

三、編寫Dockerfile

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

# 指定基礎鏡像(如果本地沒有,會去鏡像倉庫拉?。?
FROM hub.atomgit.com/library/centos:7
 
# 維護者信息
MAINTAINER qzh
 
# 設置工作目錄
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目錄的實際名稱

四、構建Docker鏡像

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

docker build -t  centos-jdk11  . 

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

五、驗證Docker鏡像

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

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

六:構建jar 

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

#基礎鏡像
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
 
# 設置工作目錄【$MYPATH】使用環(huán)境配置
WORKDIR $MYPATH
 
#將jar添加到鏡像中
ADD /target/docker-demo-encrypted.jar ./app.jar
 
#配置容器啟動時運行的命令,運行java -jar 
ENTRYPOINT ["java", \
            "-Djava.security.egd=file:/dev/./urandom", \
            "-Dserver.port=${SERVER_PORT}", \
            "-jar", "app.jar"]

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

相關文章

  • 30分鐘帶你了解Docker(推薦)

    30分鐘帶你了解Docker(推薦)

    這篇文章是針對Java開發(fā)人員的,但Docker的使用場景絕不僅限于此。最后,靈敏意味著可能有一些開發(fā)方式需要調整,到底如何利用Docker應該是當你了解它之后需要認真思考的問題
    2018-08-08
  • Docker 部署Go的兩種基礎鏡像的實現

    Docker 部署Go的兩種基礎鏡像的實現

    這篇文章主要介紹了Docker 部署Go的兩種基礎鏡像的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • 在Docker構建的容器中實現安裝ping工具

    在Docker構建的容器中實現安裝ping工具

    這篇文章主要介紹了在Docker構建的容器中實現安裝ping工具,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Linux下docker 容器退出bash的兩種實現方法

    Linux下docker 容器退出bash的兩種實現方法

    這篇文章主要介紹了Linux下docker 容器退出bash的兩種實現方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker安裝RabbitMq添加用戶實現方式

    docker安裝RabbitMq添加用戶實現方式

    這篇文章主要介紹了docker安裝RabbitMq添加用戶實現方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Docker安裝mysql教程以及解決mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘問題

    Docker安裝mysql教程以及解決mysqld: Can‘t read dir&nbs

    本文詳細介紹了如何通過Docker來安裝和配置MySQL數據庫,包括拉取MySQL鏡像、啟動MySQL容器、配置MySQL、解決常見錯誤等步驟,提供了詳盡的命令和參數說明,幫助用戶順利完成MySQL的安裝和配置,文中還提到了如何處理MySQL容器啟動時遇到的“無法讀取目錄”
    2024-10-10
  • docker部署管理工具portainer-ce的實現

    docker部署管理工具portainer-ce的實現

    Portainer是一個可視化的容器鏡像的圖形管理工具,利用Portainer可以輕松構建,管理和維護Docker環(huán)境,本文主要介紹了docker部署管理工具portainer-ce的實現,感興趣的可以了解一下
    2023-08-08
  • 快速修改docker容器的啟動參數等信息

    快速修改docker容器的啟動參數等信息

    這篇文章主要介紹了快速修改docker容器的啟動參數等信息,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 教你使用docker安裝elasticsearch和head插件的方法

    教你使用docker安裝elasticsearch和head插件的方法

    這篇文章主要介紹了docker安裝elasticsearch和head插件,安裝時需要下載鏡像和修改系統(tǒng)參數,本文分流程給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • 一文教會你在Docker容器中實現Mysql主從復制

    一文教會你在Docker容器中實現Mysql主從復制

    MySQL的主從復制之前也沒做過,剛百度了下發(fā)現并不算難,所以下面這篇文章主要給大家介紹了關于在Docker容器中實現Mysql主從復制的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-11-11

最新評論