日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 一. dockerfile的介紹
    • 1.1 關于dockerfile
    • 1.2 dockerfile文件的組成部分
    • 1.3 dockerfile的執行
  • 二. docker bulid 命令的介紹
    • 三. 使用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;
        –ulimit Ulimit配置。
        –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 文件 服務器 詳細介紹
        用戶無頭像

        網友整理

        注冊時間:

        網站:5 個   小程序:0 個  文章:12 篇

        • 51998

          網站

        • 12

          小程序

        • 1030137

          文章

        • 747

          會員

        趕快注冊賬號,推廣您的網站吧!
        最新入駐小程序

        數獨大挑戰2018-06-03

        數獨一種數學游戲,玩家需要根據9

        答題星2018-06-03

        您可以通過答題星輕松地創建試卷

        全階人生考試2018-06-03

        各種考試題,題庫,初中,高中,大學四六

        運動步數有氧達人2018-06-03

        記錄運動步數,積累氧氣值。還可偷

        每日養生app2018-06-03

        每日養生,天天健康

        體育訓練成績評定2018-06-03

        通用課目體育訓練成績評定