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

【云原生丶Docker】DockerFile完全指南

這篇具有很好參考價(jià)值的文章主要介紹了【云原生丶Docker】DockerFile完全指南。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

DockerFile構(gòu)建過程

DockerFile 是Docker的一個(gè)配置文件,本質(zhì)上來說它只是一個(gè)文本文件,它是用來構(gòu)建Docker鏡像的。DockerFile配置文件中包含了一系列的指令和配置信息,用于描述如何構(gòu)建鏡像以及如何運(yùn)行容器。通過編寫 Dockerfile,我們可以將構(gòu)建 Docker 鏡像的過程自動(dòng)化,實(shí)現(xiàn)應(yīng)用程序的快速部署和迭代。

【云原生丶Docker】DockerFile完全指南

?? 一個(gè)簡(jiǎn)單的DockerFile文件示例:
?

這個(gè)DockerFile文件的釋義為:該鏡像會(huì)在 centos7.2-python3.6.8:latest 基礎(chǔ)鏡像上安裝 nginx,并設(shè)置語言環(huán)境為 zh_CN.UTF-8。在容器啟動(dòng)后,會(huì)自動(dòng)執(zhí)行 sh /home/export/App/bin/start.sh 命令啟動(dòng)應(yīng)用,并通過 sleep 9999999d 命令使容器保持運(yùn)行狀態(tài)。

此外,該鏡像還聲明需要監(jiān)聽的端口為 80 和 8080,供外部訪問使用。

# 1.需要使用的基礎(chǔ)鏡像
FROM centos7.2-python3.6.8:latest

# 2.設(shè)置語言
ENV LANG zh_CN.UTF-8

# 4.安裝nginx鏡像
RUN yum -y install nginx

# 5.應(yīng)用鏡像開放端口,本應(yīng)用使用了nginx做反向代理,所以只需要開放80端口即可
EXPOSE 80

# 6.應(yīng)用鏡像部署完成后會(huì)執(zhí)行如下命令啟動(dòng)應(yīng)用
ENTRYPOINT sh /home/export/App/bin/start.sh && sleep 9999999d

?? 構(gòu)建鏡像

DockerFile文件準(zhǔn)備完畢后,就可以通過 docker build 命令來構(gòu)建鏡像了。

docker build -f Dockerfile .

【云原生丶Docker】DockerFile完全指南

這里有幾點(diǎn)注意事項(xiàng):

  1. docker build 默認(rèn)會(huì)在當(dāng)前目錄下尋找名為 Dockerfile的文件,我們也可以通過 .f 參數(shù)來指定Dockerfile的文件路徑和名稱。

    docker build -f <Dockerfile path/name> <build context>
    
  2. docker build 命令最后有一個(gè) . 表示的鏡像構(gòu)建上下文 Context 的路徑(文件路徑),Context的概念不難理解,在Docker的基本架構(gòu)一文中我們知道Docker 是典型的C/S架構(gòu)模式,那docker build命令就是把上下文所在路徑下的內(nèi)容打包,并傳遞給Docker 引擎,Docker 引擎拿到上下文包后,就能夠獲得構(gòu)建鏡像所需要的文件。

  3. 排除不必要的文件,加快構(gòu)建速度。在上下文目錄里再建立 .dockerignore 文件,排除那些不需要的文件。

DockerFile 的常用指令

【云原生丶Docker】DockerFile完全指南

?? FROM

FROM 指令用于指定一個(gè)基礎(chǔ)鏡像,它就像“地基” 一樣,是DockerFile文件的基礎(chǔ),所有的DockerFile文件都由FROM指令開始,那Dockerfile其實(shí)就是在基礎(chǔ)鏡像的基礎(chǔ)上進(jìn)行定制的。

在實(shí)際使用中 FROM 指令通常是指定centos、python/java等基礎(chǔ)環(huán)境鏡像。

# 需要使用的基礎(chǔ)鏡像
FROM centos7.2-python3.6.8:latest

?? ENV

ENV 指令用于設(shè)置環(huán)境變量,它可以在構(gòu)建過程中設(shè)置容器中的環(huán)境變量,這些環(huán)境變量可以在容器啟動(dòng)時(shí)使用。

語法格式為:

ENV <key> <value>
ENV <key>=<value> 

<key> 表示環(huán)境變量的名稱,<value> 表示環(huán)境變量的值。多個(gè) ENV 指令可以連續(xù)使用,也可以在同一條指令中使用空格或等號(hào)分隔多個(gè)環(huán)境變量。

在 Dockerfile 中使用 ENV 指令可以幫助我們?cè)跇?gòu)建過程中設(shè)置一些常用的環(huán)境變量,例如 PATH、LANG 等。同時(shí),在容器啟動(dòng)時(shí),我們可以通過 $<key> 的方式來獲取環(huán)境變量的值。

# 設(shè)置語言
ENV LANG zh_CN.UTF-8

?? RUN

RUN 指令用于在容器中執(zhí)行Shell命令或腳本,比如更新系統(tǒng)、安裝應(yīng)用、下載文件等等。

語法格式有如下2種

RUN <command>
RUN ["executable", "param1", "param2"]

<command> 表示要執(zhí)行的命令或腳本,它可以是 shell 命令或任何可執(zhí)行文件;["executable", "param1", "param2"] 表示一個(gè)數(shù)組,數(shù)組的第一個(gè)元素為要執(zhí)行的可執(zhí)行文件,后面的元素為參數(shù)。

例如:

RUN yum -y install nginx
RUN ["/bin/bash", "-c", "echo 'Hello, Docker!'"]

第一條命令將在容器中安裝 nginx 軟件包;第二條命令將在容器中執(zhí)行 /bin/bash -c “echo ‘Hello, Docker!’” 命令,輸出 “Hello, Docker!”。

RUN 指令的一些注意事項(xiàng)

  1. 容器中的命令執(zhí)行順序是從上到下,建議將常用的命令放在前面,以減少構(gòu)建時(shí)間。

  2. 如果需要在容器中執(zhí)行多個(gè)命令或腳本,可以使用 \ 符號(hào)將它們連接在一起,以便于閱讀和維護(hù)。命令之間用 && 來連接。

    FROM centos7.2-python3.6.8:latest
    
    RUN apt-get update \
        && apt-get install -y \
           git \
           curl \
           wget
    
  3. 每一條 RUN 指令都會(huì)在新的一層鏡像中執(zhí)行,因此我們應(yīng)該盡可能將多個(gè)命令合并為一條 RUN 指令,以減少鏡像的層數(shù)。

    例如,將上面的兩條命令合并為一條:

    RUN yum -y install nginx && /bin/bash -c "echo 'Hello, Docker!'"
    

?? EXPOSE

EXPOSE 指令用于聲明容器需要監(jiān)聽的網(wǎng)絡(luò)端口。在 Dockerfile 中使用 EXPOSE 指令可以幫助我們記錄容器需要監(jiān)聽的端口信息,并提供給其他開發(fā)人員或運(yùn)維人員使用。同時(shí),它也可以幫助我們規(guī)范化容器的端口定義,以便于管理和維護(hù)。

語法格式為:

EXPOSE <port> [<port>/<protocol>...]

<port> 表示需要監(jiān)聽的端口號(hào),<protocol> 表示使用的協(xié)議,可以是 tcp 或 udp。

例如:

# 應(yīng)用鏡像開放端口,本應(yīng)用使用了nginx做反向代理,所以只需要開放80端口即可
EXPOSE 80/tcp

這個(gè)命令將聲明容器需要監(jiān)聽的端口分別為 80 ,使用的協(xié)議為 tcp 。

但是,EXPOSE 指令并不會(huì)實(shí)際將容器的端口暴露給主機(jī)或外部網(wǎng)絡(luò),如果需要將容器的端口映射到主機(jī)上,需要在運(yùn)行容器時(shí)使用 -p 參數(shù)。

?? ENTRYPOINT

ENTRYPOINT 指令用于配置容器的入口點(diǎn),即容器啟動(dòng)后需要執(zhí)行的命令或腳本。我們通常會(huì)應(yīng)用其來啟動(dòng)WEB應(yīng)用。

語法格式為:

ENTRYPOINT ["executable", "param1", "param2"]
ENTRYPOINT command param1 param2

例如:通過 ENTRYPOINT 指定應(yīng)用鏡像部署完成后會(huì)執(zhí)行命令啟動(dòng)應(yīng)用。

# 應(yīng)用鏡像部署完成后會(huì)執(zhí)行如下命令啟動(dòng)應(yīng)用
ENTRYPOINT sh /home/export/App/bin/start.sh && sleep 9999999d

?? 如果喜歡這篇文章,點(diǎn)贊?? 收藏? 關(guān)注 ? 哦,創(chuàng)作不易,感謝!??

【云原生丶Docker】DockerFile完全指南文章來源地址http://www.zghlxwxcb.cn/news/detail-502353.html

到了這里,關(guān)于【云原生丶Docker】DockerFile完全指南的文章就介紹完了。如果您還想了解更多內(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】golang使用DockerFile正確食用指南

    【Docker】golang使用DockerFile正確食用指南

    大家好 我是寸鐵?? 總結(jié)了一篇golang使用DockerFile正確食用指南? 喜歡的小伙伴可以點(diǎn)點(diǎn)關(guān)注 ?? 今天寸鐵想讓編寫好的 go 程序在 docker 上面跑,要想實(shí)現(xiàn)這樣的效果,就需要用到今天的主角: Docker File ,那怎么使用 DockerFile 呢? 那具體怎么做呢?其實(shí)很簡(jiǎn)單,不過網(wǎng)上的博

    2024年03月12日
    瀏覽(29)
  • 【云原生】Docker鏡像的創(chuàng)建
Dockerfile 多階段構(gòu)建原理和使用場(chǎng)景

    【云原生】Docker鏡像的創(chuàng)建 Dockerfile 多階段構(gòu)建原理和使用場(chǎng)景

    創(chuàng)建鏡像有三種方法,分別為【基于已有鏡像創(chuàng)建】、【基于本地模板創(chuàng)建】以及【基于Dockerfile創(chuàng)建】。 (1)首先啟動(dòng)一個(gè)鏡像,在容器里做修改 ?docker run -it --name web centos:7 /bin/bash ? ? #啟動(dòng)容器 ?? ?yum install -y epel-release ?#安裝epel源 ?yum install -y nginx ? ? ? ? #安裝ng

    2024年02月12日
    瀏覽(30)
  • Docker 進(jìn)階指南(上)- 使用Dockerfile自定義鏡像

    Docker 進(jìn)階指南(上)- 使用Dockerfile自定義鏡像

    大家好,我是洋子。上一篇文章《docker 快速入門指南》介紹了Docker的概念,安裝Docker方法以及Docker的常用命令,并且在上篇內(nèi)容當(dāng)中,我們都是使用 docker pull 命令直接拉取 阿里云 鏡像倉庫里面提供的官方鏡像 比如拉取mysql鏡像就使用 docker pull mysql ,拉取centos鏡像就使用

    2024年02月11日
    瀏覽(57)
  • cka/ckad應(yīng)試指南 從docker到kubernetes完全攻略

    《cka/ckad應(yīng)試指南 從docker到kubernetes完全攻略》 段超飛 docker 1-安裝并配置docker,yum源,docker下載慢 2-基本命令:鏡像管理,基本命令,創(chuàng)建容器 3-網(wǎng)絡(luò),存儲(chǔ)卷,鏡像倉庫, 4-dockerfile,編排工具 k8s 1-基本定義 vsphere:esxi運(yùn)行虛擬機(jī),vcenter管理平臺(tái),vsphere client連接 k8s:woker運(yùn)

    2024年02月10日
    瀏覽(17)
  • 軟件測(cè)試|深入解析Docker Run命令:創(chuàng)建和啟動(dòng)容器的完全指南

    軟件測(cè)試|深入解析Docker Run命令:創(chuàng)建和啟動(dòng)容器的完全指南

    簡(jiǎn)介 Docker是一種流行的容器化平臺(tái),用于構(gòu)建、分發(fā)和運(yùn)行應(yīng)用程序。其中一個(gè)最基本且重要的Docker命令是 docker run ,用于創(chuàng)建和啟動(dòng)容器。本文將詳細(xì)解析 docker run 命令的用途、參數(shù)和示例,幫助您全面掌握創(chuàng)建和啟動(dòng)容器的過程。 docker run 在Docker中,容器是運(yùn)行應(yīng)用程序

    2024年02月09日
    瀏覽(68)
  • [ 云原生 | Docker ] 構(gòu)建高可用性的 SQL Server:Docker 容器下的主從同步實(shí)現(xiàn)指南

    [ 云原生 | Docker ] 構(gòu)建高可用性的 SQL Server:Docker 容器下的主從同步實(shí)現(xiàn)指南

    本系列博文還在更新中,收錄在專欄:#MS-SQL Server 專欄中。 本系列文章列表如下: 【SQL Server】 Linux 運(yùn)維下對(duì) SQL Server 進(jìn)行安裝、升級(jí)、回滾、卸載操作 【SQL Server】數(shù)據(jù)庫開發(fā)指南(一)數(shù)據(jù)庫設(shè)計(jì)的核心概念和基本步驟 【SQL Server】數(shù)據(jù)庫開發(fā)指南(二)MSSQL數(shù)據(jù)庫開發(fā)對(duì)

    2023年04月15日
    瀏覽(45)
  • 【云原生】Dockerfile文件詳解

    本文主要講解了dockerfile的使用,在文章的最后加了一個(gè)dockerfile實(shí)現(xiàn)自制鏡像的實(shí)戰(zhàn),如果你希望使用docker commit來制作鏡像可以參考: 手動(dòng)構(gòu)建自己的docker容器鏡像實(shí)戰(zhàn)

    2023年04月15日
    瀏覽(17)
  • 【云原生 | 15】Dockerfile構(gòu)建鏡像實(shí)戰(zhàn)

    【云原生 | 15】Dockerfile構(gòu)建鏡像實(shí)戰(zhàn)

    ?? 博主簡(jiǎn)介 : ??????????云計(jì)算領(lǐng)域優(yōu)質(zhì)創(chuàng)作者 ??????????2022年CSDN新星計(jì)劃python賽道第一名 ??????????2022年CSDN原力計(jì)劃優(yōu)質(zhì)作者 ??????????阿里云ACE認(rèn)證高級(jí)工程師 ??????????阿里云開發(fā)者社區(qū)專家博主 ?? 交流社區(qū) :CSDN云計(jì)算交流社區(qū)歡迎您的

    2024年02月22日
    瀏覽(23)
  • 【云原生】Dockerfile制作WordPress鏡像,實(shí)現(xiàn)compose編排部署

    【云原生】Dockerfile制作WordPress鏡像,實(shí)現(xiàn)compose編排部署

    大家好,我是秋意零。 ?? CSDN作者主頁 ?? 博客主頁 ?? 簡(jiǎn)介 ?? 普通本科生在讀 在校期間參與眾多計(jì)算機(jī)相關(guān)比賽,如:?? “省賽”、“國賽” ,斬獲多項(xiàng)獎(jiǎng)項(xiàng)榮譽(yù)證書 ?? 各個(gè)平臺(tái), 秋意臨 賬號(hào)創(chuàng)作者 ?? 云社區(qū) 創(chuàng)建者 點(diǎn)贊、收藏+關(guān)注下次不迷路! 歡迎加入 云社

    2023年04月11日
    瀏覽(17)
  • 【云原生】Dockerfile制作WordPress鏡像,實(shí)現(xiàn)Compose + K8s編排部署

    【云原生】Dockerfile制作WordPress鏡像,實(shí)現(xiàn)Compose + K8s編排部署

    大家好,我是秋意零。 ?? CSDN作者主頁 ?? 博客主頁 ?? 簡(jiǎn)介 ?? 普通本科生在讀 在校期間參與眾多計(jì)算機(jī)相關(guān)比賽,如:?? “省賽”、“國賽” ,斬獲多項(xiàng)獎(jiǎng)項(xiàng)榮譽(yù)證書 ?? 各個(gè)平臺(tái), 秋意臨 賬號(hào)創(chuàng)作者 ?? 云社區(qū) 創(chuàng)建者 點(diǎn)贊、收藏+關(guān)注下次不迷路! 歡迎加入 云社

    2024年02月03日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包