亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Dockerfile文件有哪些命令

發布時間:2023-04-14 11:24:21 來源:億速云 閱讀:126 作者:iii 欄目:開發技術

這篇文章主要講解了“Dockerfile文件有哪些命令”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Dockerfile文件有哪些命令”吧!

    一. dockerfile的介紹

    1.1 關于dockerfile

    官網中的介紹: Docker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image。

    Dockerfile 是一個文本文件,里面包含組裝新鏡像時用到的基礎鏡像和各種指令。

    使用dockerfile 文件來定義鏡像,然后運行鏡像,啟動容器。

    1.2 dockerfile文件的組成部分

    一個dockerfile文件包含以下部分:

    • 基礎鏡像信息: 使用FROM關鍵字指定基礎鏡像信息,FROM是dockerfile文件的第一條指令。

    • 維護者信息: 使用MAINTAINER關鍵字指定,通常可以使用dockerfile文件創建者的名字或者郵件作為維護者的信息。

    • 鏡像操作指令: 沒執行一條鏡像操作指令,都會在鏡像中添加新的一層。

    • 容器啟動執行命令: 用戶指定在啟動容器時需要執行的命令,通過:CMD ENTRYPOINT指定

    常見的鏡像操作指令:

    指令描述
    FROM# 基礎鏡像,一切從這里開始構建
    MAINTAINER鏡像是誰寫的,姓名+郵箱
    RUN鏡像構建的時候需要運行的命令
    ADD添加內容: 比如加一個tomcat壓縮包
    WORKDIR鏡像的工作目錄
    VOLUME鏡像掛載的目錄
    EXPOSE保留暴露的端口
    CMD指定這個容器啟動的時候要運行的命令,只有最后一個會生效,可以被代替
    ENTRYPOINT指定這個容器啟動的時候需要運行的命令,可以追加命令
    ONBUILD當構建一個被繼承DockerFile 的時候就會運行 ONBUILD 的指令。觸發指令
    COPY類似ADD ,將我們的文件拷貝到鏡像中
    ENV構建的時候設置環境變量

    1.3 dockerfile的執行

    在完成dockerfile文件的編寫后,執行docker build命令,則會根據dockerfile文件中上下文的內容構建新的docker鏡像。

    整個構建過程會被遞歸處理,如果在dockerfile中包含了路徑或者URL,都會被遞歸構建。

    二. docker bulid 命令的介紹

    docker build 命令用于使用 Dockerfile 創建鏡像

    語法:

    docker build [OPTIONS] PATH | URL | -

    常用參數:

    參數解釋
    –build-arg=[]設置鏡像創建時的變量;
    –cpu-shares設置 cpu 使用權重;
    –cpu-period限制 CPU CFS周期;
    –cpu-quota限制 CPU CFS配額;
    –cpuset-cpus指定使用的CPU id;
    –cpuset-mems指定使用的內存 id;
    –disable-content-trust忽略校驗,默認開啟;
    -f指定要使用的Dockerfile路徑;
    –force-rm設置鏡像過程中刪除中間容器;
    –isolation使用容器隔離技術;
    –label=[]設置鏡像使用的元數據;
    -m設置內存最大值;
    –memory-swap設置Swap的最大值為內存+swap,"-1"表示不限swap;
    –no-cache創建鏡像的過程不使用緩存;
    –pull嘗試去更新鏡像的新版本;
    –quiet, -q安靜模式,成功后只輸出鏡像 ID;
    –rm設置鏡像成功后刪除中間容器;
    –shm-size設置/dev/shm的大小,默認值是64M;
    –ulimitUlimit配置。
    –squash將 Dockerfile 中所有的操作壓縮為一層。
    –tag, -t:鏡像的名字及標簽,通常 name:tag 或者 name 格式;可以在一次構建中為一個鏡像設置多個標簽。
    –network:默認 default。在構建期間設置RUN指令的網絡模式

    三. 使用dockerfile構建鏡像實戰

    編寫一個簡單的centos鏡像

    在本地創建一個文件名為Dockerfile的文件

    • 代碼如下

    FROM centos:7.9.2009
    # 指定基礎鏡像為 centos
    MAINTAINER  mufenggrow mufenggrow@163.com
    ENV  MYPATH  /usr/local
    WORKDIR $MYPATH
    
    RUN yum -y install vim
    RUN yum -y install net-tools
    
    EXPOSE  80
     
    CMD echo $MYPATH
    CMD echo "-----end-----"
    CMD /bin/bash
    • 構建并測試
      通過命令構建鏡像 最后有個 .語法如下:

     docker build -f dockerfile 文件名 -t 鏡像名:[tag] .

    測試:

    因為最開始我們創建的文件名叫Dockerfile所以,不需要使用-f 參數

    [root@mufenggrow ~]# ls
    anaconda-ks.cfg  Dockerfile 
    
    [root@mufenggrow ~]# docker build -t mufeng_centos .
    [root@mufenggrow ~]# docker images
    REPOSITORY      TAG        IMAGE ID       CREATED         SIZE
    mufeng_centos   latest     5233b48a8b4e   9 seconds ago   667MB
    centos          7.9.2009   eeb6ee3f44bd   19 months ago   204MB
    • 啟動測試,查看是否有ifconfig命令

    [root@mufenggrow ~]# ls
    anaconda-ks.cfg  Dockerfile  initial-setup-ks.cfg  公共  模板  視頻  圖片  文檔  下載  音樂  桌面
    [root@mufenggrow ~]# docker run -itd mufeng_centos /bin/bash
    0801e25a61e5999b1616d1f0073f39a7e5431e34d983445b3f349b7da6bf3fe6
    [root@mufenggrow ~]# docker exec -it 0801e25a /bin/bash
    [root@0801e25a61e5 local]# pwd
    /usr/local
    [root@0801e25a61e5 local]# ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
            ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
            RX packets 8  bytes 656 (656.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    感謝各位的閱讀,以上就是“Dockerfile文件有哪些命令”的內容了,經過本文的學習后,相信大家對Dockerfile文件有哪些命令這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    灵石县| 盐城市| 土默特右旗| 安福县| 邹城市| 分宜县| 天峻县| 孟津县| 兴和县| 广昌县| 孝昌县| 贵德县| 页游| 衡东县| 西贡区| 栖霞市| 皮山县| 新巴尔虎右旗| 清涧县| 布尔津县| 辽阳市| 牡丹江市| 来凤县| 闸北区| 阿拉善盟| 栾川县| 孙吴县| 隆林| 新乡县| 长岭县| 临泽县| 凌云县| 如皋市| 泸定县| 大丰市| 珠海市| 阿克陶县| 湖州市| 惠州市| 镇安县| 浑源县|