1. <i id="s6b2k"><small id="s6b2k"></small></i>
    <b id="s6b2k"><bdo id="s6b2k"></bdo></b>
  2. <wbr id="s6b2k"></wbr>

    通過Dockerfile構建Docker鏡像的方法步驟_docker

    來源:腳本之家  責任編輯:小易  

    Dockerfile是一個文本文件,其內包含了一條條的指令(Instruction),每一條指令構建一層,因此每一條指令的內容,就是描述該層應當如何構建.

    Dockerfile支持Shell類的行尾添加"\"的命令換行方式,以及行首"#"進行注釋的格式.

    使用Dockerfile構建Docker鏡像時注意事項:

    (1).盡量選取滿足需求但較小的基礎系統鏡像;

    (2).清理編譯生成文件、安裝包的緩存等臨時文件;

    (3).安裝各個軟件時候要指定準確的版本號,并避免引入不需要的依賴;

    (4).添加.dockerignore文件或使用干凈的工作目錄.

    Dockerfile常用指令:

    (1).FROM:用于指定要構建的鏡像的基礎鏡像,它通常是Dockerfile中的第一條指令;

    (2).LABEL:用于添加標簽來幫助組織鏡像、記錄許可信息、輔助自動化構建等,標簽是鍵值對,以字符串存儲;

    (3).RUN:用于在鏡像中執行命令,這會創建新的鏡像層,每個RUN指令創建一個新的鏡像層,永遠將apt-get update和apt-get install組合成一條RUN;

    RUN指令有兩種格式:

    A.shell格式:RUN <命令>,就像直接在命令行中輸入的命令一樣;

    B.exec格式:RUN ["可執行文件", "參數1", "參數2"];

    (4).COPY:支持簡單將本地文件拷貝到容器中,通常使用COPY指令將應用代碼賦值到鏡像中;

    (5).EXPOSE:用于記錄應用所使用的網絡端口;

    (6).ENTRYPOINT:用于指定鏡像以容器方式啟動后默認運行的程序;

    (7).ENV:為容器中安裝的程序更新PATH環境變量.

    下面的Dockerfile用于在容器中可以直接編譯執行https://github.com/fengbingchun/Messy_Test:

    FROM ubuntu:16.04
    LABEL maintainer="FengBingchun fengbingchun@163.com" \ 
       version="1.0" \
       description="dockerfile test"
    RUN dep_items='git cmake g++-5' \
      && apt-get update \
      && apt-get install -y $dep_items \ 
      && ln -s /usr/bin/g++-5 /usr/bin/g++ \
      && rm -rf /var/lib/apt/lists/*

    構建鏡像,執行以下命令后會成功生成名字為fengbingchun/ubuntu:16.04的鏡像:

    docker build -t fengbingchun/ubuntu:16.04 .

    通過掛載主機目錄,新建容器test,執行以下命令:

    docker run -it -P --name test --mount type=bind,source=e:\GitCode\docker,target=/home/fengbingchun fengbingchun/ubuntu:16.04 /bin/bash

    然后,在容器內,cd到/home/fengbingchun目錄下,clone Messy_Test執行以下命令:

    git clone https://github.com/fengbingchun/Messy_Test

    然后cd到cd Messy_Test/prj/linux_cmake_CppBaseTest目錄下,依次執行如下命令

    ./build.sh
    ./build/CppBaseTest

    執行結果如下圖所示,說明通過Dockerfile構建的鏡像可以正常編譯執行Messy_Test:

    保存鏡像fengbingchun/ubuntu:16.04到tar包,執行以下命令:

    docker save -o ubuntu_16.04.tar fengbingchun/ubuntu:16.04

    將ubuntu_16.04.tar拷貝到ubuntu系統下,從tar包加載一個鏡像,執行以下命令:

    docker load -i ubuntu_16.04.tar

    然后執行windows上類似的操作,在新創建的容器test中編譯、執行Messy_Test,依次執行如下命令:

    docker run -it -P --name test --mount type=bind,source=/home/xxxx/Disk/GitHub/docker,target=/home/fengbingchun fengbingchun/ubuntu:16.04 /bin/bash
    cd /home/fengbingchun/
    git clone https://github.com/fengbingchun/Messy_Test
    cd Messy_Test/prj/linux_cmake_CppBaseTest/
    ./build.sh
    ./build/CppBaseTest

    執行結果如下圖所示:說明在Windows上生成的鏡像打包后,在Ubuntu上load后可正常使用.

    到此這篇關于通過Dockerfile構建Docker鏡像的方法步驟的文章就介紹到這了,更多相關Dockerfile構建Docker鏡像內容請搜索真格學網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持真格學網!

    您可能感興趣的文章:如何基于Dockerfile構建tomcat鏡像docker使用Dockerfile構建鏡像的方法使用dockerfile構建nginx鏡像的方法示例詳解利用Dockerfile構建mysql鏡像并實現數據的初始化及權限設置Docker如何使用Dockerfile構建鏡像Docker中鏡像構建文件Dockerfile與相關命令的詳細介紹

  3. 本文相關:
  4. 解決docker cmd/entrypoint執行sh腳本報: not found/run.sh:
  5. linux下docker安裝配置教程
  6. docker實踐—centos7上部署kubernetes詳解
  7. docker 安裝elasticsearch 6.x的教程詳解
  8. docker完整配置nginx+php+mysql的方法步驟
  9. 如何使用celery和docker處理django中的定期任務
  10. docker部署tomcat及web應用的實現
  11. docker容器化部署python應用過程解析
  12. docker 基礎之dockerfile命令詳解
  13. docker入門安裝教程(小白篇)
  14. 如何使用Dockerfile構建鏡像
  15. dockers怎么通過dockerfile來創建鏡像
  16. 如何不通過Dockerfile從已有鏡像構建新鏡像
  17. 如何用Dockerfile創建鏡像
  18. 如何通過vs2017的Dockerfile來生成鏡像
  19. 如何使用Dockerfile構建鏡像
  20. 如何使用Dockerfile構建鏡像
  21. 如何使用Dockerfile構建鏡像
  22. 如何使用Dockerfile構建鏡像
  23. Docker 用鏡像方式遷移和用Dockerfile動態生成有什...
  24. 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全dockerhyper-vvmwarevirtualboxxenserverkvmqemuopenvzxencloudstackopenstack云計算技術云其它首頁服務器云和虛擬化如何基于dockerfile構建tomcat鏡像docker使用dockerfile構建鏡像的方法使用dockerfile構建nginx鏡像的方法示例詳解利用dockerfile構建mysql鏡像并實現數據的初始化及權限設置docker如何使用dockerfile構建鏡像docker中鏡像構建文件dockerfile與相關命令的詳細介紹解決docker cmd/entrypoint執行sh腳本報: not found/run.sh:linux下docker安裝配置教程docker實踐—centos7上部署kubernetes詳解docker 安裝elasticsearch 6.x的教程詳解docker完整配置nginx+php+mysql的方法步驟如何使用celery和docker處理django中的定期任務docker部署tomcat及web應用的實現docker容器化部署python應用過程解析docker 基礎之dockerfile命令詳解docker入門安裝教程(小白篇)docker 給運行中的容器設置端口映docker獲取鏡像報錯docker: errodocker.service啟動失敗:unit ndocker 清理命令集錦淺談docker-compose網絡設置之neubuntu14.04+docker的安裝及使用docker容器如何優雅的終止詳解docker容器訪問宿主機網絡的方法詳解如何使用docker部署一個web項詳解docker國內鏡像拉取和鏡像加詳解如何在 docker 中設置 go 并部署應用常用的docker基本命令及用法匯總linux中docker的安裝教程使用tls加密通訊遠程連接docker的示例詳解docker制作python運行環境基礎鏡像的方法詳解docker-compose速度太慢解決方式docker版的mysql5.7升級到mysql8.0.13,數詳解基于harbor搭建docker私有鏡像倉庫docker部署rabbitmq容器實現過程解析docker構建kubectl鏡像的實現步驟
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.yu113.com All Rights Reserved
    战天txt全集下载