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

4、DockerFile文件的使用

這篇具有很好參考價值的文章主要介紹了4、DockerFile文件的使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、DockerFile 文件

Dockerfile是用來構建Docker鏡像的文本文件,是由一條條構建鏡像所需的指令和參數構成的腳本。

官網:https://docs.docker.com/engine/reference/builder/

構建dockerFile文件三部曲

  • 編寫DockerFile文件

  • docker build 命令構建鏡像

  • docker run 鏡像運行容器實例

1.1 DockerFile構建過程

1.1.1 基礎知識

  1. 每條保留字指令都必須為大寫字母且后面要跟隨至少一個參數
  2. 指令按照從上到下,順序執(zhí)行
  3. #表示注釋
  4. 每條指令都會創(chuàng)建一個新的鏡像層并對鏡像進行提交

1.1.2 docker執(zhí)行DockerFile的大致流程

  1. docker從基礎鏡像運行一個容器
  2. 執(zhí)行一條指令并對容器做出修改
  3. 執(zhí)行類似docker commit的操作提交一個新的鏡像
  4. docker再基于剛提交的鏡像運行一個新容器
  5. 執(zhí)行dockerfile的下一條指令直到所有的指令都執(zhí)行完成

1.2 Dockerfile常見的關鍵字

名稱 含義
FROM 基礎鏡像,表示當前鏡像是基于哪個鏡像,指定一個已經存在的鏡像作為模板
MAINTAINER 鏡像維護者的姓名和郵箱地址
RUN 容器構建時需要運行的命令,比如 RUN yum -y install vim,注意這里的RUN是在docker build時運行
EXPOSE 當前容器對外暴露的端口
WORKDIR 指定在創(chuàng)建容器后,終端默認登錄的工作目錄(落腳點)
USER 指定該鏡像以什么樣的用戶去執(zhí)行,如果不指定,默認是root
ENV 用來構建鏡像過程中設置環(huán)境變量,例如:ENV MY_PATH /usr/mytest
則在后面可以直接使用WORKDIR $MY_PATH
ADD 將宿主機目錄下的文件拷貝鏡像且會自動處理URL和解壓tar壓縮包
COPY 類似ADD,拷貝文件和目錄到鏡像中。將從構建上下文目錄中 <源路徑> 的文件/目錄復制到新的一層的鏡像內的 <目標路徑> 位置
COPY src dest
VOLUME 容器數據卷,用于數據保存和持久化工作
CMD 指定容器啟動后要干的事情
Dockerfile 中可以有多個 CMD 指令,但只有最后一個生效,CMD 會被 docker run 之后的參數替換
ENTRYPOINT 也是用來指定一個容器啟動時要運行的命令

注意1:

CMD與RUN,CMD是在docker run時運行,而RUN是在docker build時運行

注意2:

1、類似于 CMD 指令,但是ENTRYPOINT不會被docker run后面的命令覆蓋,而且這些命令行參數會被當作參數送ENTRYPOINT 指令指定的程序這樣做的優(yōu)點是在執(zhí)行docker run的時候可以指定 ENTRYPOINT 運行所需的參數。但是當Dockerfile 中如果存在多個 ENTRYPOINT 指令,僅最后一個生效。

2、ENTRYPOINT可以和CMD一起用,一般是變參才會使用 CMD ,這里的 CMD 等于是在給 ENTRYPOINT 傳參。
當指定了ENTRYPOINT后,CMD的含義就發(fā)生了變化,不再是直接運行其命令而是將CMD的內容作為參數傳遞給ENTRYPOINT指令

1.3 自定義鏡像mycentosjava8

目的:是在centos7鏡像的基礎上具備vim+ifconfig+jdk的功能

步驟1:在jDK官網下載鏡像https://mirrors.yangxingzhen.com/jdk/

步驟2:準備編寫Dockerfile文件,注意一定是大寫的D,鍵入以下內容

FROM centos:7
MAINTAINER zpyl<3112019422@qq.com> 
ENV MYPATH /usr/local
WORKDIR $MYPATH 
#安裝vim編輯器
RUN yum -y install vim
#安裝ifconfig命令查看網絡IP
RUN yum -y install net-tools
#安裝java8及l(fā)ib庫
RUN yum -y install glibc.i686
RUN mkdir /usr/local/java
#ADD 是相對路徑jar,把jdk-8u211-linux-x64.tar.gz添加到容器中,安裝包必須要和Dockerfile文件在同一位置
ADD jdk-8u211-linux-x64.tar.gz /usr/local/java/
#配置java環(huán)境變量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_211
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH 
EXPOSE 80 
CMD echo $MYPATHCMD echo "success--------------ok"
CMD /bin/bash

步驟3:準備構建

# docker build -t 新鏡像的名字:TAG .
docker build -t java8centos:1.5 .
# 注意
# 新鏡像的名字一定要全小寫
# TAG之后一定要空格之后在打.

步驟4:運行

docker run -it java8centos:1.5 /bin/bash

1.4 虛懸鏡像

定義:倉庫、標簽都是<none>的鏡像

查看:docker image ls -f dangling=true

4、DockerFile文件的使用

虛懸鏡像已經失去了存在的價值,是可以隨意刪除的,可以用下面的命令刪除

docker image prune文章來源地址http://www.zghlxwxcb.cn/news/detail-488276.html

到了這里,關于4、DockerFile文件的使用的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Dockerfile文件詳細教程

    Dockerfile是用來構建鏡像的,他實際上就是把在linux下的命令操作寫到了Dockerfile中,通過Dockerfile去執(zhí)行設置好的操作命令,保證通過Dockerfile的構建鏡像是一致的。 該例子來自于 chromium 項目 主要干的事情: 來指定用哪個鏡像; 安裝一些編譯需要的環(huán)境:C++編譯環(huán)境,Java環(huán)境

    2024年02月08日
    瀏覽(12)
  • Dockerfile文件

    Dockerfile文件

    Dockerfile是一個包含用于組合映像的命令的文本文檔??梢允褂迷诿钚兄姓{用任何命令。 Docker通過讀取 Dockerfile 中的指令自動生成映像。 docker build 命令用于從Dockerfile構建映像。可以在 docker build 命令中使用 -f 標志指向文件系統(tǒng)中任何位置的Dockerfile。 例:docker build -f /pat

    2024年02月04日
    瀏覽(26)
  • dockerfile文件參數

    如果僅限于使用dockerhub里面的鏡像,是沒辦法滿足我們實際的應用場景的,所以我們需要創(chuàng)建屬于自己的docker鏡像。 構建docker鏡像需要編寫dockerfile,卻不知道語法怎么寫。 下文為簡介dockerfile參數,以及相應的作用。 FROM 指定基礎鏡像 MAINTAINER 維護者名稱,自定義,可寫可不

    2024年02月02日
    瀏覽(30)
  • 【云原生】Dockerfile文件詳解

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

    2023年04月15日
    瀏覽(15)
  • DockerFile中build文件失敗

    DockerFile中build文件失敗

    出現(xiàn)的問題 :failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount2314644203/Dockerfile: no such file or directory 圖片如下: 導致問題的原因 :創(chuàng)建的文件的名稱首字母大寫中間的字母不需要大寫。圖片如下: 解決方案 :將文件名稱修改成小寫字母,如下: 構建文件成功的狀態(tài) :

    2024年02月16日
    瀏覽(20)
  • Docker技術入門| Part03:Dockerfile詳解(Dockerfile概念、Dockerfile 指令、使用Dockerfile構建鏡像)

    Docker鏡像原理 Docker鏡像是由特殊的文件系統(tǒng)疊加而成 最底端是bootfs,并使用宿主機的bootfs 第二層是root文件系統(tǒng)rootfs,稱為base image 然后再往上可以疊加其他的鏡像文件 統(tǒng)文件系統(tǒng)(UnionFile System)技術能夠將不同的層整合成一個文件系統(tǒng),為這些層提供了一個統(tǒng)的視角,這樣就隱

    2024年02月09日
    瀏覽(92)
  • dockerfile的使用,使用dockerfile部署springboot項目

    dockerfile的使用,使用dockerfile部署springboot項目

    Dockerfile是用來構建Docker鏡像的文本文件,是由一條條構建鏡像所需的指令和參數構成的腳本。 官網:https://docs.docker.com/engine/reference/builder/ 1:每條保留字指令都 必須為大寫字母 且后面要跟隨至少一個參數 2:指令按照從上到下,順序執(zhí)行 3:#表示注釋 4:每條指令都會創(chuàng)建

    2024年02月05日
    瀏覽(23)
  • 編寫.NET Dockerfile文件構建鏡像

    編寫.NET Dockerfile文件構建鏡像

    創(chuàng)建一個WebApi項目,并且創(chuàng)建一個Dockerfile空文件,添加以下代碼,7.0代表的你項目使用的SDK的版本,構建的時候也需要選擇好指定的鏡像tag 我們一步一步來進行講解,首先第一步,F(xiàn)ROM指定了一個mcr.microsoft.com/dotnet/aspnet:7.0鏡像,并且AS別名base,這一步是選擇aspnet:7.0作為基礎

    2024年01月23日
    瀏覽(15)
  • Dockerfile 指令 COPY 拷貝文件夾

    網上查了查資料,這里記錄一下。 ????????今天在編寫 dockerfile 時使用 COPY 拷貝文件夾時遇到了意料之外的情況。在此記錄一下正確的使用方法。 ????????今天在通過 dockerfile 將文件夾拷貝到鏡像的時候發(fā)現(xiàn),是把文件夾下的內容拷貝進去了。 dockerfile 如下: ????

    2024年01月18日
    瀏覽(26)
  • 制作 stun/turn 服務 Dockerfile 文件

    完整 Dockerfile 文件 turnserver.sh 使用 推薦 libevent-2.1.12.tar.gz coturn-4.5.1.1.tar.gz stun/turn 服務搭建詳細記錄 參考 Docker——Dockerfile編寫實戰(zhàn) 搭建 WebRTC TURNSTUN 服務器 docker安裝stun和turn服務器(打洞服務器) 國內云服務器(VPS)Docker拉取速度過慢實現(xiàn)加速

    2024年02月16日
    瀏覽(6)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包