<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Docker之Dockerfile

      1、Dockerfile

      1.1、dockerfile的基本介紹

      Dockerfile 是一個用來構建鏡像的文本文件,該文本內容內包含了一條條構建鏡像所需的指令和參數。Dockerfile其內部包含了一條條的指令,每一條指令構建一層,因此每一條指令的內容,就是描述該層應當如何構建。

      DockerFile 對于 docker 鏡像而言,可以理解為就如同 java 中某個類的 .class 文件對應上該類的 .java 文件。

      從應用軟件的角度來看,Dockerfile、 Docker鏡像與Docker容器分別代表軟件的三個不同階段:

      • Dockerfile是軟件的原材料
      • Docker鏡像是軟件的交付品
      • Docker容器則可以認為是軟件的運行態。

      Dockerfile面向開發,Docker鏡像成為交付標準,Docker容器則涉及部署與運維,三者缺一不可,合力充當Docker體系的基石。

       

      1.2、dockerfile內容

      Dockerfile 一般分為四部分:基礎鏡像信息、維護者信息、鏡像操作指令、容器啟動時執行指令。

      文件內容說明:

      • 每條保留字指令都必須為大寫字母且后面要跟隨至少一個數
      • 指令按照從上到下,順序執行
      • 每條指令都會創建一個新的鏡像層,并對鏡像進行提交
      • #表示注釋

       

      2、Dockerfile常用指令

      常用指令圖:

       

      2.1、FROM(指定基礎鏡像)

      FROM:指定基礎鏡像,即當前鏡像基于哪個鏡像創建的。該指令必須為第一個命令。

      示例:

      FROM centos:6

       

      2.2、MAINTAINER(指定維護者信息)

      指明鏡像維護者及其聯系方式(一般是郵箱地址),例如:

      MAINTAINER xxx <xxx@qq.com>

      不過,MAINTAINER并不推薦使用,更推薦使用LABEL來指定鏡像作者,例如:

      LABEL maintainer="edisonzhou.cn"

       

      2.3、RUN

      鏡像構建時運行的命令,例如:

      RUN ["yum", "install", "httpd"]
      RUN yum install vim   #安裝vim模塊
      RUN yum install net-tools     

       

      2.4、EXPOSE

      聲明容器運行的該容器暴露的服務端口,例如:

      EXPOSE 80 443

       

      2.5、CMD

      啟動容器時執行的Shell命令,例如:

      CMD ["-C", "/start.sh"] 
      CMD echo "success----ok"
      CMD /bin/bash

      Dockerfile 文件中可以存在多個 CMD 指令,但僅有最后一個會生效。并且 CMD 啟動的程序會被 docker run 命令行最后所指定的參數所覆蓋。

       

      2.6、WORKDIR

      指定在創建并運行容器后,默認進去的容器的目錄。如果沒有指定,將默認進去容器內的根目錄 / 下。

      也是為RUN、CMD、ENTRYPOINT以及COPY和AND設置工作目錄,例如:

      WORKDIR /data

       

      2.7、ENV

      設置環境變量,例如:

      ENV MY_PATH /usr/test
      ENV MYSQL_ROOT_PASSWORD 123456
      ENV JAVA_HOME /usr/local/jdk1.8.0_45

      設置的環境變量可以在后續的任何RUN指令中使用,也可以在其它指令中直接使用這些環境變量。比如:WORKDIR $MY_PATH

       

      2.8、COPY

      將宿主機目錄下的文件或者目錄拷貝進鏡像中,例如:

      COPY ./start.sh /start.sh

       

      2.9、ADD

      將宿主機目錄下的文件或者目錄拷貝進鏡像中,相對于 COPY 命令的區別是如果是URL或壓縮包,會自動下載或自動解壓。

      例如:

      ADD 宿主機文件路徑 鏡像文件路徑
      ADD html.tar.gz /var/www/html
      ADD https://xxx.com/html.tar.gz /var/www/html

       

      2.10、VOLUME

      指定容器掛載點到宿主機自動生成的目錄或其他容器,例如:

      VOLUME ["/var/lib/mysql"]

      一般不會在Dockerfile中用到,更常見的還是在docker run的時候指定-v數據卷。

       

      2.11、ENTRYPOINT

      啟動容器時執行的Shell命令,同CMD類似,只是由 ENTRYPOINT 啟動的程序不會被 docker run 命令行指定的參數所覆蓋,而且,這些命令行參數會被當作參數傳遞給 ENTRYPOINT 指定的程序。

      例如:

      ENTRYPOINT ["/bin/bash", "-C", "/start.sh"]
      ENTRYPOINT /bin/bash -C '/start.sh'

      Dockerfile 文件中也可以存在多個 ENTRYPOINT 指令,但僅有最后一個會生效。

       

      2.12、ONBUILD

      用于設置鏡像觸發器,當所構建的鏡像被用做其它鏡像的基礎鏡像,該鏡像中的觸發器就會被觸發。

       

      2.13、USER

      指定運行容器時的用戶名或 UID,后續的 RUN 也會使用指定用戶。使用USER指定用戶時,可以使用用戶名、UID或GID,或是兩者的組合。當服務不需要管理員權限時,可以通過該命令指定運行用戶。并且可以在之前創建所需要的用戶

      # 格式:
        USER user
        USER user:group
        USER uid
        USER uid:gid
        USER user:gid
        USER uid:group
      
      # 示例:
        USER wen

      使用USER指定用戶后,Dockerfile 中其后的命令 RUN、CMD、ENTRYPOINT 都將使用該用戶。鏡像構建完成后,通過 docker run 運行容器時,可以通過 -u 參數來覆蓋所指定的用戶。

       

      posted @ 2021-08-17 08:23  wenxuehai  閱讀(138)  評論(0)    收藏  舉報
      //右下角添加目錄
      主站蜘蛛池模板: 欧美乱码卡一卡二卡四卡免费| 国产精品大全中文字幕| 国产真实露脸乱子伦原著| 亚亚洲视频一区二区三区| 无码福利写真片视频在线播放| 亚洲成av人片天堂网老年人| 午夜福利免费区在线观看| 壶关县| 久久天天躁狠狠躁夜夜不卡| 中文字幕在线精品国产| 无套内谢少妇高清毛片| 国产99在线 | 免费| 久久国产成人亚洲精品影院老金| 亚洲精品色哟哟一区二区| 国产极品精品自在线不卡| 日韩精品久久久肉伦网站| 色午夜一av男人的天堂| 中文字幕免费不卡二区| 国产精品老熟女露脸视频| 国产精品午夜福利91| 成人自拍小视频在线观看| 99视频精品全部免费 在线| 亚洲国产另类久久久精品| 久久激情影院| 少妇真人直播免费视频| 真人作爱90分钟免费看视频| 9l精品人妻中文字幕色| 中文字幕日韩有码av| 最新日韩精品中文字幕| 国产精品乱一区二区三区| mm1313亚洲国产精品| 人妻av中文字幕无码专区| 淄博市| 国产精品中文字幕在线| 人妻丰满熟妇av无码区| 99无码中文字幕视频| 国产美女遭强高潮免费| 欧洲精品码一区二区三区| 亚洲综合一区二区三区不卡| 亚洲精品香蕉一区二区| A级孕妇高清免费毛片|