国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用dockerfile手動(dòng)構(gòu)建JDK11鏡像運(yùn)行容器并校驗(yàn)

這篇具有很好參考價(jià)值的文章主要介紹了使用dockerfile手動(dòng)構(gòu)建JDK11鏡像運(yùn)行容器并校驗(yàn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Docker官方維護(hù)鏡像的公共倉(cāng)庫網(wǎng)站 Docker Hub 國(guó)內(nèi)無法訪問了,大部分鏡像無法下載,準(zhǔn)備逐步構(gòu)建自己的鏡像庫?!巨D(zhuǎn)載aliyun官方-容器鏡像服務(wù) ACR】Docker常見問題

阿里云容器鏡像服務(wù)ACR(Alibaba Cloud Container Registry)是面向容器鏡像、Helm Chart等符合OCI標(biāo)準(zhǔn)的云原生制品安全托管及高效分發(fā)平臺(tái)。ACR企業(yè)版支持全球同步加速、大規(guī)模和大鏡像分發(fā)加速、多代碼源構(gòu)建加速等全鏈路加速能力,與容器服務(wù)ACK無縫集成,幫助企業(yè)降低交付復(fù)雜度,打造云原生應(yīng)用一站式解決方案。

一、下載Linux下的JDK11包

1.1 下載 jdk-11.0.19_linux-x64_bin.tar.gz

Java SE Development Kit 11.0.19
需要Oracle賬號(hào)登錄后才能下載。
這里放一個(gè)其他博主公開的Oracle公共賬號(hào)和密碼

dockerfile怎么使用jdk11,2023,docker,docker,容器,centos

1.2 上傳下載的JDK11包到CentOS中的新建文件夾mydockerfile中

建議:dockerfile文件和jdk包放在同一個(gè)文件夾下,這樣不用build時(shí)用-f參數(shù)指定dockerfile的位置。
dockerfile怎么使用jdk11,2023,docker,docker,容器,centos
這里文件夾的名稱寫成了mydockfile,應(yīng)該是mydockerfile,后續(xù)已經(jīng)重命名改正:
dockerfile怎么使用jdk11,2023,docker,docker,容器,centos

二、編寫dockerfile文件并執(zhí)行docker build命令構(gòu)建鏡像

前提:安裝配置好docker,可參考我這篇 基于CentOS7安裝配置docker與docker-compose。

2.1 編寫并上傳dockerfile文件

我們使用命令 docker build , 從零開始來創(chuàng)建一個(gè)新的鏡像。為此,我們需要?jiǎng)?chuàng)建一個(gè) dockerfile 文件,其中包含一組指令來告訴 Docker 如何構(gòu)建我們的鏡像。每一個(gè)指令都會(huì)在鏡像上創(chuàng)建一個(gè)新的層,每一個(gè)指令的前綴都必須是大寫的。
第一條FROM,指定使用哪個(gè)鏡像源
RUN 指令告訴docker 在鏡像內(nèi)執(zhí)行命令,安裝了什么。。。
然后,我們使用 dockerfile 文件,通過 docker build 命令來構(gòu)建一個(gè)鏡像。

注意:dockerfile文件要寫上Linux的系統(tǒng)版本,我這里使用的是CentOS的系統(tǒng),查詢linux系統(tǒng)版本可參考我這篇
查看CentOS版本及系統(tǒng)位數(shù)與設(shè)置CentOS 7.9 2009 防火墻配置放開端口的命令與過程

dockerfile文件內(nèi)容:

# 建立一個(gè)新的鏡像文件,配置模板:新建立的鏡像是以centos為基礎(chǔ)模板
# 因?yàn)閖dk必須運(yùn)行在操作系統(tǒng)之上
#每一個(gè)指令都會(huì)在鏡像上創(chuàng)建一個(gè)新的層,每一個(gè)指令的前綴都必須是大寫的。
#第一條FROM,指定使用哪個(gè)鏡像源

FROM centos:7.9.2009

#維護(hù)者 作者 郵箱
MAINTAINER djcking <djc**4*****@qq.com>

#RUN 指令告訴docker 在鏡像內(nèi)執(zhí)行命令,安裝了什么
#創(chuàng)建一個(gè)新目錄來存儲(chǔ)jdk文件
RUN  mkdir "/usr/local/java"

#將jdk壓縮文件復(fù)制到鏡像中,它將自動(dòng)解壓縮tar文件
ADD jdk-11.0.19_linux-x64_bin.tar.gz   /usr/local/java

# 設(shè)置時(shí)區(qū)
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


# 設(shè)置環(huán)境變量
ENV JAVA_HOME /usr/local/java/jdk-11.0.19
ENV PATH $JAVA_HOME/bin:$PATH


# VOLUME 指定了臨時(shí)文件目錄為/tmp
# 其效果是在主機(jī) /var/lib/docker 目錄下創(chuàng)建了一個(gè)臨時(shí)文件,并鏈接到容器的/tmp
VOLUME /tmp

上傳dockerfile文件:
建議:dockerfile文件和jdk包放在同一個(gè)文件夾下,這樣不用build時(shí)用-f參數(shù)指定dockerfile的位置。

dockerfile怎么使用jdk11,2023,docker,docker,容器,centos

2.2 執(zhí)行docker build命令構(gòu)建鏡像

dockerfile文件、鏡像-IMAGE,容器-CONTAINER三者的關(guān)系(個(gè)人學(xué)習(xí)理解):

1、docker build命令使用dockerfile文件中的配置來構(gòu)建鏡像-IMAGE;

2、docker run命令運(yùn)行構(gòu)建好的鏡像-IMAGE來啟動(dòng)容器-CONTAINER;

3、鏡像-IMAGE是死的,因?yàn)樗举|(zhì)上就是為了生成容器而存在的,容器-CONTAINER是活的,因?yàn)樽罱K運(yùn)行服務(wù)時(shí)使用的是容器-CONTAINER

構(gòu)建鏡像命令-docker build:

參數(shù)說明:
-t :指定要?jiǎng)?chuàng)建的目標(biāo)鏡像名
.Dockerfile 文件所在目錄,可以指定Dockerfile 的絕對(duì)路徑
//進(jìn)入存放jdk包與dockerfile的目錄mydockerfile
cd mydockerfile

//-t 給新構(gòu)建的鏡像取名為java, 并設(shè)定版本為11
//注意最后有個(gè)點(diǎn),代表使用當(dāng)前路徑的 Dockerfile 進(jìn)行構(gòu)建
//成功執(zhí)行下面的docker build命令后,docker images 命令中,TAG就是11(鏡像標(biāo)簽或者版本),Repository就是java,為鏡像倉(cāng)庫源名。
docker build -t java:11 .

dockerfile怎么使用jdk11,2023,docker,docker,容器,centos
通過上圖使用docker images命令 查看創(chuàng)建的jdk鏡像已經(jīng)在列表中存在,IMAGE ID也成功生成了。

docker images 各參數(shù)說明:

REPOSITORY:表示鏡像的倉(cāng)庫源名

TAG:鏡像的標(biāo)簽或版本

IMAGE ID:鏡像ID

CREATED:鏡像創(chuàng)建時(shí)間

SIZE:鏡像大小

同一鏡像倉(cāng)庫源可以有多個(gè) TAG,代表這個(gè)倉(cāng)庫源的不同個(gè)版本,如 jdk倉(cāng)庫源里,有 11、1213....20 等多個(gè)不同的版本,我們使用 REPOSITORY:TAG 來定義并區(qū)分不同的鏡像,例如jdk:11,jdk:12,jdk:13,jdk:20等。

三、通過鏡像創(chuàng)建啟動(dòng)容器并校驗(yàn)

3.1 通過鏡像創(chuàng)建啟動(dòng)容器


//運(yùn)行該鏡像 
//此命令使用鏡像java:11,創(chuàng)建并啟動(dòng)容器,執(zhí)行成功會(huì)根據(jù)算法返回一個(gè)字符串,是CONTAINER ID,即辨別容器的ID。
// --name djcjdk11 代表一個(gè)別名。
docker run -id  --name djcjdk11 java:11

//docker run 參數(shù)說明:
-i:交互式操作

-d:后臺(tái)運(yùn)行

-t:終端。

docker ps命令查看正運(yùn)行的容器(默認(rèn)只顯示CONTAINER ID的前12位,完整的容器ID有64位,但已經(jīng)足以區(qū)分不同的容器):
dockerfile怎么使用jdk11,2023,docker,docker,容器,centos

3.2 校驗(yàn)

因?yàn)槲覀儎?chuàng)建的 djcjdk11容器是的本源包是 jdk-11.0.19_linux-x64_bin.tar.gz,所以校驗(yàn)即檢查JDK的版本。

//docker exec:推薦大家使用 docker exec 命令,因?yàn)榇嗣顣?huì)退出容器終端,但不會(huì)導(dǎo)致容器的停止。
//可以使用NAMES即djcjdk11或者CONTAINER ID的前四位或完整的CONTAINER ID
//以下6個(gè)命令任意一個(gè)皆可
docker exec -it NAMES  bash 
docker exec -it CONTAINER ID  bash
docker exec -it CONTAINER ID前幾位 bash
即
docker exec -it djcjdk11 bash 
docker exec -it 4001866f057c  bash
docker exec -it CONTAINER ID前幾位 bash ,如 docker exec -it 4001  bash

或者

docker exec -it NAMES  /bin/bash 
docker exec -it CONTAINER ID  /bin/bash
docker exec -it CONTAINER ID前幾位 /bin/bash
即
docker exec -it djcjdk11 /bin/bash
docker exec -it 4001866f057c /bin/bash
docker exec -it CONTAINER ID前幾位 /bin/bash,如 docker exec -it 4001  /bin/bash



//檢測(cè)Java版本  java --version 或java -version
java --version 或java -version

dockerfile怎么使用jdk11,2023,docker,docker,容器,centos

四、命令截圖一覽

4.1 命令

//1-進(jìn)入文件夾
cd /home/mydockerfile

//2-構(gòu)建鏡像命令
//-t 給新構(gòu)建的鏡像倉(cāng)庫源取名為java, 并設(shè)定版本或者標(biāo)簽為為11  即TAG
docker build -t java:11 .

//3-查看images
 docker images


//4-啟動(dòng)運(yùn)行鏡像
//此命令使用鏡像java:11,創(chuàng)建并啟動(dòng)容器,執(zhí)行成功會(huì)根據(jù)算法返回一個(gè)字符串,是CONTAINER ID,即辨別容器的ID。
docker run -id  --name djcjdk11 java:11


//5-查看正在運(yùn)行的容器
docker ps


//6-進(jìn)入容器
//docker exec:推薦大家使用 docker exec 命令,因?yàn)榇嗣顣?huì)退出容器終端,但不會(huì)導(dǎo)致容器的停止。
docker exec -it djcjdk11 bash 
或
docker exec -it 4001 /bin/bash 

//7-檢測(cè)Java版本  java --version 或java -version
java --version 或java -version



--------其他命令---------

//關(guān)閉容器 
//這里使用CONTAINER ID的前四位
docker stop 4001

//docker logs  CONTAINER ID或者NAMES 可以查看容器內(nèi)部的標(biāo)準(zhǔn)輸出。
//-f: 讓 docker logs 像使用 tail -f 一樣來輸出容器內(nèi)部的標(biāo)準(zhǔn)輸出。
//補(bǔ)充:tail 命令可用于查看文件的內(nèi)容,有一個(gè)常用的參數(shù) -f 常用于查閱正在改變的日志文件。
//tail -f filename 會(huì)把 filename 文件里的最尾部的內(nèi)容顯示在屏幕上,并且不斷刷新,只要 filename 更新就可以看到最新的文件內(nèi)容。

docker logs 4001或者 docker logs djcjdk11
docker logs -f 4001或者docker logs -f djcjdk11

鏡像和容器更多操作可以參考我這兩篇文章:
Docker基本操作之刪除容器Container和刪除鏡像IMAGE
Docker容器基本操作之啟動(dòng)-停止-重啟

4.2 截圖

dockerfile怎么使用jdk11,2023,docker,docker,容器,centos
dockerfile怎么使用jdk11,2023,docker,docker,容器,centos

五、參考資料

Docker 鏡像使用
Docker 容器使用
Docker Dockerfile
Docker Compose
Docker 倉(cāng)庫管理
Linux tail 命令
查看CentOS版本及系統(tǒng)位數(shù)與設(shè)置CentOS 7.9 2009 防火墻配置放開端口的命令與過程
實(shí)戰(zhàn):用dockerfile創(chuàng)建鏡像實(shí)現(xiàn)springboot項(xiàng)目容器化
實(shí)戰(zhàn):用docker-compose容器化springboot項(xiàng)目
【Docker】手動(dòng)構(gòu)建 OracleJDK11 鏡像
【SpringBoot + Docker】編寫Dockerfile安裝jdk11.0.3,并部署SpringBoot項(xiàng)目
Docker - 安裝openjdk11并啟動(dòng)運(yùn)行
Docker之dockerfile制作jdk鏡像
docker 文件編寫,和jdk11運(yùn)行java的Dockerfile文件
Linux rm命令 刪除文件夾文章來源地址http://www.zghlxwxcb.cn/news/detail-773808.html

到了這里,關(guān)于使用dockerfile手動(dòng)構(gòu)建JDK11鏡像運(yùn)行容器并校驗(yàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Docker進(jìn)階:容器數(shù)據(jù)卷與Dockerfile構(gòu)建鏡像(發(fā)布)

    Docker進(jìn)階:容器數(shù)據(jù)卷與Dockerfile構(gòu)建鏡像(發(fā)布)

    ??The Begin??點(diǎn)點(diǎn)關(guān)注,收藏不迷路?? 1、完成數(shù)據(jù)持久化和共享數(shù)據(jù),docker容器中的數(shù)據(jù),同步到本地。 2、重要數(shù)據(jù)back_up 特點(diǎn): 實(shí)時(shí)生效、數(shù)據(jù)卷可在容器之間共享和重用數(shù)據(jù)、數(shù)據(jù)卷中的更改不會(huì)包含在鏡像更新中、數(shù)據(jù)卷的生命周期會(huì)一直延續(xù)到?jīng)]有容器使用它為止

    2024年02月09日
    瀏覽(27)
  • 【Docker】如何編寫Dockerfile,深入理解 Dockerfile:構(gòu)建精簡(jiǎn)且高效的容器鏡像

    【Docker】如何編寫Dockerfile,深入理解 Dockerfile:構(gòu)建精簡(jiǎn)且高效的容器鏡像

    Docker 是一種輕量級(jí)的容器化技術(shù),使得應(yīng)用程序和它們的依賴可以被打包到一個(gè)容器中,方便在不同環(huán)境中運(yùn)行。Dockerfile 是用于定義 Docker 鏡像的文本文件,其中包含了一系列的指令,這些指令描述了鏡像中應(yīng)該包含哪些內(nèi)容和如何配置。 在開始編寫 Dockerfile 之前,確保你

    2024年01月24日
    瀏覽(30)
  • Docker基礎(chǔ)入門:容器數(shù)據(jù)卷與Dockerfile構(gòu)建鏡像(發(fā)布)

    Docker基礎(chǔ)入門:容器數(shù)據(jù)卷與Dockerfile構(gòu)建鏡像(發(fā)布)

    ??The Begin??點(diǎn)點(diǎn)關(guān)注,收藏不迷路?? 1、完成數(shù)據(jù)持久化和共享數(shù)據(jù),docker容器中的數(shù)據(jù),同步到本地。 2、重要數(shù)據(jù)back_up 特點(diǎn): 實(shí)時(shí)生效、數(shù)據(jù)卷可在容器之間共享和重用數(shù)據(jù)、數(shù)據(jù)卷中的更改不會(huì)包含在鏡像更新中、數(shù)據(jù)卷的生命周期會(huì)一直延續(xù)到?jīng)]有容器使用它為止

    2024年02月10日
    瀏覽(21)
  • (三)docker:Dockerfile構(gòu)建容器運(yùn)行jar包

    (三)docker:Dockerfile構(gòu)建容器運(yùn)行jar包

    目錄結(jié)構(gòu)以及準(zhǔn)備的文件 2.Dockerfile內(nèi)容 3.構(gòu)建鏡像 4.查看生成鏡像 5.創(chuàng)建并運(yùn)行容器 6.查看創(chuàng)建的容器 7.啟動(dòng)畫面確認(rèn)

    2024年02月06日
    瀏覽(19)
  • Docker(鏡像、容器、倉(cāng)庫)工具安裝使用命令行選項(xiàng)及構(gòu)建、共享和運(yùn)行容器化應(yīng)用程序

    Docker(鏡像、容器、倉(cāng)庫)工具安裝使用命令行選項(xiàng)及構(gòu)建、共享和運(yùn)行容器化應(yīng)用程序

    ??個(gè)人主頁:@小沈YO. ??小編介紹:歡迎來到我的亂七八糟小星球?? ??本章內(nèi)容:Docker工具安裝使用、命令行選項(xiàng)及構(gòu)建、共享和運(yùn)行容器化應(yīng)用程序時(shí)的主要步驟 記得 評(píng)論?? +點(diǎn)贊?? +收藏?? +關(guān)注??哦~ 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 以下是在常

    2024年02月05日
    瀏覽(43)
  • 【Dockerfile鏡像實(shí)戰(zhàn)】構(gòu)建LNMP環(huán)境并運(yùn)行Wordpress網(wǎng)站平臺(tái)

    【Dockerfile鏡像實(shí)戰(zhàn)】構(gòu)建LNMP環(huán)境并運(yùn)行Wordpress網(wǎng)站平臺(tái)

    公司在實(shí)際的生產(chǎn)環(huán)境中,需要使用Docker 技術(shù)在一臺(tái)主機(jī)上 創(chuàng)建LNMP服務(wù)并運(yùn)行Wordpress網(wǎng)站平臺(tái) 。 然后對(duì)此服務(wù)進(jìn)行相關(guān)的性能調(diào)優(yōu)和管理工作 主機(jī) 操作系統(tǒng) IP地址 主要軟件 宿主機(jī) CentOS 7.3 x86_64 192.168.2.106 Docker 19.03 Nginx容器 172.18.0.10 Mysql容器 172.18.0.20 PHP容器 172.18.0.30 容

    2024年02月08日
    瀏覽(19)
  • windows部署python項(xiàng)目(以Flask為例)到docker,通過腳本一鍵生成dockerfile并構(gòu)建鏡像啟動(dòng)容器

    windows部署python項(xiàng)目(以Flask為例)到docker,通過腳本一鍵生成dockerfile并構(gòu)建鏡像啟動(dòng)容器

    這里使用 pipreqs 進(jìn)行依賴庫的識(shí)別。使用 pipreqs 可以自動(dòng)檢索到當(dāng)前項(xiàng)目下的所有組件及其版本,并生成 requirements.txt 文件。相比直接用pip freeze 命令,避免將整個(gè)python環(huán)境的依賴包寫入。 在項(xiàng)目的當(dāng)前目錄中執(zhí)行 pipreqs ./ --encoding=utf8 --force 這里使用的是一個(gè)基于flask項(xiàng)目,

    2023年04月08日
    瀏覽(35)
  • Docker構(gòu)建jar包鏡像并運(yùn)行容器

    Docker構(gòu)建jar包鏡像并運(yùn)行容器

    Docker需要提前安裝,不懂的參考: Centos7操作Docker_JohnGene的博客-CSDN博客_centos7 操作docker 安裝Docker安裝Docker官方源:yum-config-manager –add-repo http://download.docker.com/linux/centos/docker-ce.repo更新源:yum makecache fast安裝:yum install docker-ce啟動(dòng)并設(shè)為開機(jī)自啟:systemctl enable docker #設(shè)為開機(jī)

    2024年02月09日
    瀏覽(24)
  • 使用Dockerfile構(gòu)建nginx鏡像

    ?雨雀:使用Dockerfile構(gòu)建nginx鏡像 · 語雀 (yuque.com) ?yaml文件用法:02 Docker三劍客之一-Dockerfile · 語雀 (yuque.com) 1.使用Dockerfile構(gòu)建nginx鏡像 2.編寫Dockerfile yaml文件用法:02 Docker三劍客之一-Dockerfile · 語雀 (yuque.com) 3.構(gòu)建鏡像 4.運(yùn)行鏡像? ?

    2024年02月12日
    瀏覽(25)
  • Docker容器化技術(shù)(使用Dockerfile制作鏡像)

    Docker容器化技術(shù)(使用Dockerfile制作鏡像)

    Docker 支持通過擴(kuò)展現(xiàn)有鏡像,創(chuàng)建新的鏡像。實(shí)際上,Docker Hub 中 99% 的鏡像都是通過在 base 鏡像中安裝和配置需要的軟件構(gòu)建出來的。 1、Docker 鏡像為什么分層 鏡像分層最大的一個(gè)好處就是共享資源。 比如說有多個(gè)鏡像都從相同的 base 鏡像構(gòu)建而來,那么 Docker Host 只需在

    2024年03月19日
    瀏覽(861)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包