婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Dockerfile中常用命令匯總

Dockerfile中常用命令匯總

熱門標簽:寧波400電話辦理對企業(yè)的意義 燃氣管線地圖標注顏色 西柏坡地圖標注 話術(shù)外呼系統(tǒng) 哈爾濱400電話去哪辦理 北京人工外呼系統(tǒng)廠家 廣東如何申請400電話 400電話申請要什么條件 i智能電話機器人yeta

語法組成:

1 注釋信息
2 指令---參數(shù) [通常要大寫|實質(zhì)上不區(qū)分大小寫]
3 順序執(zhí)行
4 第一個非注釋行必須是from [基于那個基礎(chǔ)鏡像制作]  
5 需要一個專用目錄[自己創(chuàng)建]
6 首字目必須大寫---Dockerfile
7 制作鏡像依賴到文件或者包組時,必須提前準備至專用目錄下

.dockerignore file --每一行中定義一個忽略文件
    --創(chuàng)建在工作目錄中
    例如:pam.d/su*

.........................................................

dockerfile中的常用指令:

1 FROM ---指定基礎(chǔ)鏡像

    基礎(chǔ)鏡像不存在會在Docker Hub上拉去
使用格式:  
FROM <鏡像>:[tag]    
FROM <鏡像>@digest[校驗碼]
當前主機沒有此鏡像時,會自動去官網(wǎng)HUB下載
..............................................

2 MAINTANIER --提供Dockerfile 制作者提供本人信息

    [逐漸廢棄]
LABLE --替代MAINTANIER
具體使用:
LABLE maintainer="作者信息"

使用格式:

MAINTANIER "guowei <597599150@qq.com>"

.......................................................

3 COPY --把宿主機中的文件復制到鏡像中去!

    文件要在Dockerfile工作目錄
src 原文件
    --支持通配符
    --通常相對路徑
dest 目標路徑  
    --通常絕對路徑

有空白字符隔開的字串需要用"",否則會被當做兩個文件!

文件復制準則:
1 src必須是build上下文中的路徑,不能是其父目錄
2 如果src是目錄,則其內(nèi)部文件或子目錄會被遞歸復制
   但src目錄自身不會被復制
3 如果指定了多個src,或在src中使用了通配符,則dest必須是一個
  目錄,且必須以/結(jié)尾
4 如果dest實現(xiàn)不存在,它將會被自動創(chuàng)建,這包括其父目錄
..............................................................

4 ADD --類似COPY命令

支持URL路徑----如果可以訪問網(wǎng)絡的話,會訪問網(wǎng)絡下載
到本地然后打包進鏡像!

操作準則:
1 如果src為URL且dest不以/結(jié)尾,則src指定的文件將被下載并
直接被創(chuàng)建為dest;如果dest以/結(jié)尾,則文件名URL指定的文件
將被直接下載并保存為dest/filename

2 如果是壓縮包會被解壓,但通過URL路徑獲取到的tar文件不會被展開

3 如果src有多個,或其間接或直接使用了通配符,則dest必須是一個
以/結(jié)尾的目錄路徑,如果dest不以/結(jié)尾,則其被視為一個普通文件
src的內(nèi)容將被直接寫入到dest中!

...............................................................

5 WORKDIR --指定工作目錄

每次只會影響這個指令后續(xù)的指令

ADD nginx-1.14.2.tar.gz /usr/local/src/ --不受影響

WORKDIR /usr/local/src/

ADD nginx-1.14.2.tar.gz ./ --受影響

.............................................................

6 VOLUME --卷

只能定義docker管理的卷:
VOLUME /data/mysql

運行的時候會隨機在宿主機的目錄下生成一個卷目錄!
................................................................

7 EXPOSE 為容器打開指定要監(jiān)聽的端口以實現(xiàn)與外部通信

使用格式:
EXPOSE 80/tcp 23/udp

不加協(xié)議默認為tcp

使用-P選項可以暴露這里指定的端口!
但是宿主的關(guān)聯(lián)至這個端口的端口是隨機的!
..............................................................

8 ENV

用于為鏡像定義所需的環(huán)境變量,并可被Dockerfile文件中位于
其后的其它命令所調(diào)用

調(diào)用格式:
$A 或 ${A}

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

第一種格式中,key之后的所有內(nèi)容均會被其視作<value>的組成部分
因此,一次只能設(shè)置一個變量!

第二種格式可用一次設(shè)置多個變量,每個變量為一個<key>=<value>
的鍵值對,如果<value>中包含空格,可以反斜線(\)進行轉(zhuǎn)義
也可以通過對<value>加引號進行標識。另外,反斜線也可用于續(xù)航

定義多個變量時。建議使用第二種方式,以便在同一層中完成所有功能
具體用法:
ENV JAVA_HOME /usr/local/jdk
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/:$JRE_HOME/lib/
ENV PATH $PATH:$JAVA_HOME/bin/

ENV A /web/html

COPY index.html ${A:-/web/html}

在docker run 中傳遞變量:
docker run -e [list] 傳變量值
如果在dockerfile中賦值變量后也能在docker run中繼續(xù)賦值
docker run --name b1 --rm -e A=xx [鏡像ID]
不會影響docker build 的過程!

printenv --輸出環(huán)境變量信息

..............................................................

9 RUN命令:

使用格式:
RUN <command>
RUN ["<executable>","<param1>","<param2>"]

第一種格式中 <command命令通常是一個shell命令 且以"/bin/sh -c">來運行它
這意味此進程在容器中的PID不能為1,不能接收Unix信號,因此,當使用docker stop命令
來停止容器時,此進程接收不到信號

第二種語法格式中的參數(shù)是一個JSON格式的數(shù)組,其中<executable>為要運行的命令,后面的
<paramN>為傳遞給命令的選項或參數(shù),然而,此種格式指定的命令不會以"/bin/sh -c">來運行它
因此常見的shell操作如變量替換以及通配符替換將不會進行 不過如果要運行的命令依賴于
此shell特性的話,可以將其替換為下面的格式:
RUN ["/bin/bash","-c","<executable>","<param1>"]

........................................................................

10 CMD命令:運行于docker run中

語法有三種寫法
1. CMD ["executable","param1","param2"] --啟動為ID為1的進程
具體實例:

CMD ["/bin/sh","-c","/bin/httpd","-f","-h /web/html]

2. CMD ["param1","param2"]
3. CMD command param1 param2 --直接運營為shell的子進程
param*=執(zhí)行參數(shù)
例如第二種:
CMD ["nginx"]

docker run -it -p 8888:80 172.20.23.31/server1/nginx-base:v1 nginx

只能是雙引號!

CMD ["param1","param2"]
 --此種用法用于為ENTRYPOINT指令提供默認參數(shù)

可用于執(zhí)行腳本:
添加腳本:

ADD run_tomcat.sh /apps/tomcat/bin/run_tomcat.sh

RUN chmod +x /apps/tomcat/bin/run_tomcat.sh

RUN chown -R tomcat:tomcat /apps /data/tomcat

CMD ["/apps/tomcat/bin/run_tomcat.sh"] -- 引用腳本!

..............................................................

11 ENTRYPOINT

類似CMD指令的功能,用于為容器指定默認運行程序,從而使得容器像是一個單獨
的可執(zhí)行程序

與CND不同的是,由這個指令啟動的程序不會被docker run 命令行指定的參數(shù)所覆蓋
而且,這些命令行參數(shù)會被當做參數(shù)傳遞給ENTRYPOINT指定的程序

使用格式:

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

docker run 命令傳入的命令參數(shù)會覆蓋CMD指定的內(nèi)容并且附加到ENTRYPOINT
命令最后作為其參數(shù)使用

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

在docker run時,使用--entrypoint string選項傳遞的命令 可以覆蓋Dockerfile中
定義的ENTRYPOINT指令

如何讓Nginx配置文件接收參數(shù)

創(chuàng)建一個腳本:

#!/bin/bash
#
cat > /etc/nginx/conf.d/www.conf <<EOF
 server {
        server_name ${HOSTNAME};
        listen ${IP:-0.0.0.0}:${PORT:-80};
        root ${ROOT:-/web/html};
}
EOF
exec "$@"
chmod +x nginx-conf.sh

Dockerfile文件:

FROM xxx
ENV ROOT='/web/html/'
ADD index.html ${ROOT}
ADD nginx-conf.sh /bin/nginx-conf.sh
CMD ["/usr/sbin/nginx","-g","daemon off;"]
ENTRYPOINT ["/bin/nginx-conf.sh"]
docker run --name b1 --rm -P -e "PORT=8080" [鏡像ID]

注意:必須使用雙引號!!!
................................................................................

12 USER命令:

用于指定運行image時的或運行Dockerfile中的任何RUN,CMD或ENTRYPOINT
指令指定的程序時的用戶名或UID

默認情況下,container的運行身份為root

格式:
USER <UID>|<UserName>

需要注意的是<UID>可以為任意數(shù)字,但實踐中其必須為/etc/passwd中某用戶的有效
UID否則docker run命令將運行失敗!

必須要在容器中的/etc/passwd文件中個存在

....................................................................

13 HEALTHCHECK

健康狀態(tài)監(jiān)測
HEALTHCHECK NONE --不要做監(jiān)測

常用選項:
--interval=DURATION 默認30秒 --多長時間監(jiān)測一次
--timeout=DURATION 默認30秒 --監(jiān)測超時時間
--start-period=DURATION --當docker容器啟動后,延遲多長時間才健康檢查
默認0秒
--retries=N 默認3次
默認檢查多少次在認為失敗

響應值:
0--成功
1--失敗
2--自定義

應用示例:

HEALTHCHECK --interval=5m --timeout=3s CMD curl -f http://localhost/ || exit1

Dockerfile中應用:

HEALTHCHECK --start-period=3s CMD wget -O - -q http://{IP:-0.0.0.0}:${PORT:-80}/

也可以在docker run中定義:

--health-cmd string            
--health-interval duration      
--health-retries int           
--health-start-period duration  
--health-timeout duration   

.................................................................

14 SHELL指令:

["cmd","/S","/C"] --windons

...........................................................

15 STOPSIGNAL命令:

STOPSIGNAL 信號名稱

定義停止命令的信號!

SIGKILL --9信號

.............................................................

16 ARG參數(shù):

用于docker build 的過程中使用

可以被--buil-arg當做參數(shù)傳遞過來!
具體應用:

ARG auther=tim
LABLE maintainer=${auther}
docker build --build-arg auther=tom -t xxx ./

在dockerfile中存在的arg變量,如果在docker build 時也
設(shè)置了--build-arg變量,這樣最終以命令行界面的變量值為
最終值!
.................................................................

17 ONBUILD

用于在dockerfile中定義一個觸發(fā)器
dockerfile用于build映像文件,此映像文件亦可作為base image被另一個
dockerfile用作from指定的參數(shù),并以之構(gòu)建新的影響文件

在后面的這個dockerfile中的from指定在build過程中被執(zhí)行時,將會觸發(fā)
創(chuàng)建其base image的dockerfile文件的ONBUILD指定定義的觸發(fā)器

格式:
ONBUILD 要執(zhí)行的Dockerfile指令

盡管任何指令都可注冊成為觸發(fā)器指令,但ONBUILD不能自我嵌套
且不會觸發(fā)from和maintainer指令

使用包含onbuild指定的dockerfile構(gòu)建的鏡像應該使用特殊的標簽
例如ruby:2.0-onbuild

在onbuild指令中使用add或copy指令硬格外小心,因為構(gòu)建過程的上下文
在缺少指定的源文件時會失?。?/p>

會在別人引用這個鏡像時執(zhí)行!并不會在首次build過程執(zhí)行

標簽:珠海 巴中 湘潭 張家口 襄陽 西藏 開封 阜陽

巨人網(wǎng)絡通訊聲明:本文標題《Dockerfile中常用命令匯總》,本文關(guān)鍵詞  Dockerfile,中,常用,命令,匯總,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Dockerfile中常用命令匯總》相關(guān)的同類信息!
  • 本頁收集關(guān)于Dockerfile中常用命令匯總的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩黄色小视频| 在线看不卡av| 欧美日韩不卡一区二区| 日韩电影免费在线看| 国产91在线看| 日韩av在线播放中文字幕| 欧美tickling网站挠脚心| 夜夜爽夜夜爽精品视频| 91麻豆精品国产91久久久 | 色悠悠亚洲一区二区| 亚洲一区在线免费观看| 亚洲国产电影在线观看| 在线观看av一区| 成人午夜视频网站| 久久精品免费观看| 亚洲最大的成人av| 国产精品日日摸夜夜摸av| 色狠狠色狠狠综合| 国产成人aaaa| 夫妻av一区二区| 成人短视频下载| 欧美一区二区三区视频在线| 久久久久久久久久久久久久久99| 中文字幕乱码日本亚洲一区二区| 亚洲激情一二三区| 国产成人综合精品三级| 在线观看精品一区| 久久久久久久综合日本| 亚洲最快最全在线视频| 国产一区二区三区日韩| 99精品久久久久久| 日韩欧美国产一区二区三区 | 色综合激情五月| 欧美成人猛片aaaaaaa| 中国色在线观看另类| 久久久久久久久久久久电影| 国产精品久久久久一区二区三区共| 免费成人你懂的| 日韩欧美中文一区二区| 亚洲自拍偷拍网站| 欧美日韩三级一区二区| 99久久婷婷国产| 亚洲丰满少妇videoshd| 91无套直看片红桃| 秋霞国产午夜精品免费视频| 欧美激情资源网| 欧美性感一类影片在线播放| 国产精品一卡二| 国产一区二区三区蝌蚪| 日本不卡的三区四区五区| 欧美午夜视频网站| 日韩精品视频网| 综合网在线视频| 欧美伊人久久久久久午夜久久久久| 一区二区三区欧美在线观看| 日韩欧美专区在线| 色域天天综合网| 国产乱子伦视频一区二区三区| 一个色妞综合视频在线观看| 中文字幕久久午夜不卡| 欧美一区二区三区在线观看视频| 97超碰欧美中文字幕| 国产二区国产一区在线观看| 美女一区二区三区| 韩国精品一区二区| 亚洲日本欧美天堂| 99综合电影在线视频| 日韩电影在线一区二区三区| 国产精品欧美久久久久无广告| 99精品久久久久久| 国产精品一区一区三区| 久久久综合精品| 午夜电影一区二区三区| 成人爱爱电影网址| 亚洲精品五月天| 欧美日韩国产综合一区二区三区| 视频精品一区二区| 在线观看亚洲一区| 香港成人在线视频| 欧美一区2区视频在线观看| 日本不卡一区二区三区高清视频| 久久老女人爱爱| 欧美日韩视频在线第一区| 日韩电影在线免费观看| 国产目拍亚洲精品99久久精品| 91国偷自产一区二区开放时间 | 国产91丝袜在线播放九色| 欧美高清在线一区| 欧美另类高清zo欧美| 国产成人免费9x9x人网站视频| 一区二区三区成人在线视频| 久久午夜免费电影| 免费人成网站在线观看欧美高清| 精品国产一区二区三区四区四| 欧美性一二三区| 欧美亚洲国产一卡| 91在线码无精品| 国产jizzjizz一区二区| 亚洲午夜电影在线观看| 亚洲精品一区二区精华| 欧美日韩国产综合久久| 色先锋资源久久综合| 成人一道本在线| 丰满放荡岳乱妇91ww| 国产乱对白刺激视频不卡| 亚洲成av人片一区二区梦乃| 亚洲一区二区三区免费视频| 欧美性淫爽ww久久久久无| 亚洲综合一区在线| 91精品国产免费久久综合| 久久国产夜色精品鲁鲁99| 久久久久久97三级| 风间由美一区二区三区在线观看| 欧美日韩在线综合| 久久久久久久久99精品| 国产一区二区精品在线观看| 欧美精品一区二区三区视频| 成人亚洲一区二区一| 中文字幕av一区 二区| 日韩影院免费视频| 2022国产精品视频| 欧美精品一区二区三区视频| 人人狠狠综合久久亚洲| 2020国产精品自拍| 欧美日韩精品一区二区| 99久久精品情趣| 国产区在线观看成人精品| 麻豆91精品91久久久的内涵| 91麻豆精品国产无毒不卡在线观看| 免费成人在线观看视频| 久久精品视频一区二区三区| 91蜜桃在线观看| 激情综合色综合久久综合| 亚洲色欲色欲www在线观看| 懂色av中文字幕一区二区三区| 久久先锋资源网| 国产精品一区二区91| 精品1区2区在线观看| 香蕉av福利精品导航| 99久久99久久综合| 欧美一级精品大片| 日本中文在线一区| 欧美系列日韩一区| 亚洲视频一区二区在线| av电影在线观看一区| 一区二区免费看| 欧美色区777第一页| 久久99精品国产91久久来源| 精品国产91九色蝌蚪| 一本高清dvd不卡在线观看| 欧美xfplay| 国产成人av一区二区三区在线 | 久久久久久免费网| 欧美亚洲高清一区| 亚洲不卡在线观看| 在线一区二区观看| 日本成人在线电影网| 国产欧美日韩视频一区二区| 国产成人在线网站| 亚洲一区中文在线| 日韩精品一区二区三区在线| 北条麻妃一区二区三区| 久久精品999| 亚洲va欧美va人人爽午夜| 国产女人aaa级久久久级| 一本高清dvd不卡在线观看| 日韩福利电影在线| www国产精品av| 7777精品久久久大香线蕉| 成人激情图片网| 久久精品国产在热久久| 亚洲高清中文字幕| 亚洲一二三四久久| 亚洲一区欧美一区| 亚洲免费伊人电影| 成人免费在线播放视频| 欧美一级片在线看| 欧美片网站yy| 色婷婷国产精品| 成人av影院在线| 国产91高潮流白浆在线麻豆| av不卡在线播放| 成人精品在线视频观看| 一本在线高清不卡dvd| 欧美综合一区二区| 97超碰欧美中文字幕| 99国产精品久久久久久久久久| 91在线视频免费91| 欧美影视一区二区三区| 日韩一区二区精品在线观看| 精品国产百合女同互慰| 亚洲精选视频免费看| 秋霞影院一区二区| 91啦中文在线观看| 欧美一区二区私人影院日本| 日韩一级片网址| 久久亚洲综合av| 亚洲精选视频在线| 久久成人免费网| 精品视频1区2区3区|