最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

通過Dockerfile構(gòu)建Docker鏡像的方法步驟

 更新時間:2021年02月19日 11:11:29   作者:fengbingchun  
這篇文章主要介紹了通過Dockerfile構(gòu)建Docker鏡像的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Dockerfile是一個文本文件,其內(nèi)包含了一條條的指令(Instruction),每一條指令構(gòu)建一層,因此每一條指令的內(nèi)容,就是描述該層應(yīng)當(dāng)如何構(gòu)建.

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

使用Dockerfile構(gòu)建Docker鏡像時注意事項:

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

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

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

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

Dockerfile常用指令:

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

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

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

RUN指令有兩種格式:

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

B.exec格式:RUN ["可執(zhí)行文件", "參數(shù)1", "參數(shù)2"];

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

(5).EXPOSE:用于記錄應(yīng)用所使用的網(wǎng)絡(luò)端口;

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

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

下面的Dockerfile用于在容器中可以直接編譯執(zhí)行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/*

構(gòu)建鏡像,執(zhí)行以下命令后會成功生成名字為fengbingchun/ubuntu:16.04的鏡像:

docker build -t fengbingchun/ubuntu:16.04 .

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

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

然后,在容器內(nèi),cd到/home/fengbingchun目錄下,clone Messy_Test執(zhí)行以下命令:

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

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

./build.sh
./build/CppBaseTest

執(zhí)行結(jié)果如下圖所示,說明通過Dockerfile構(gòu)建的鏡像可以正常編譯執(zhí)行Messy_Test:

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

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

將ubuntu_16.04.tar拷貝到ubuntu系統(tǒng)下,從tar包加載一個鏡像,執(zhí)行以下命令:

docker load -i ubuntu_16.04.tar

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

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

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

到此這篇關(guān)于通過Dockerfile構(gòu)建Docker鏡像的方法步驟的文章就介紹到這了,更多相關(guān)Dockerfile構(gòu)建Docker鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker深度清除鏡像緩存overlay2的實現(xiàn)

    Docker深度清除鏡像緩存overlay2的實現(xiàn)

    維清理鏡像是通過命令?docker?rm?i?刪除鏡像的,但是這條命令不會刪除docker?build命令產(chǎn)生的緩存文件,本文主要介紹了Docker深度清除鏡像緩存overlay2的實現(xiàn),感興趣的可以了解一下
    2023-12-12
  • 使用Docker搭建Apache Kafka環(huán)境的詳細過程

    使用Docker搭建Apache Kafka環(huán)境的詳細過程

    這篇文章主要介紹了使用Docker搭建Apache Kafka環(huán)境,本文使用Docker技術(shù)創(chuàng)建單個Kafka節(jié)點和Kafka集群環(huán)境,并且使用可視化工具連接服務(wù)查看代理服務(wù)器的配置信息,需要的朋友可以參考下
    2022-10-10
  • Docker安裝redis并且設(shè)置密碼,以及進入容器修改密碼方式

    Docker安裝redis并且設(shè)置密碼,以及進入容器修改密碼方式

    這篇文章主要介紹了Docker安裝redis并且設(shè)置密碼,以及進入容器修改密碼方式,
    2024-01-01
  • 虛擬機如何安裝指定版本的Docker舉例詳解

    虛擬機如何安裝指定版本的Docker舉例詳解

    這篇文章主要介紹了虛擬機如何安裝指定版本的Docker的相關(guān)資料,包括配置yum源、查看可用版本、安裝指定版本、卸載舊版本、解決沖突、再次安裝以及最后驗證安裝,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2024-12-12
  • Docker 多主機網(wǎng)絡(luò)通信詳細介紹

    Docker 多主機網(wǎng)絡(luò)通信詳細介紹

    這篇文章主要介紹了Docker 多主機網(wǎng)絡(luò)通信詳細介紹的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • docker daemon遠程連接設(shè)置詳解

    docker daemon遠程連接設(shè)置詳解

    本篇文章主要介紹了docker daemon遠程連接設(shè)置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Docker 修改docker存儲位置 修改容器鏡像大小限制操作

    Docker 修改docker存儲位置 修改容器鏡像大小限制操作

    這篇文章主要介紹了Docker 修改docker存儲位置 修改容器鏡像大小限制操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker 數(shù)據(jù)卷之進階篇

    docker 數(shù)據(jù)卷之進階篇

    這篇文章主要介紹了docker 數(shù)據(jù)卷之進階篇,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Docker安裝基礎(chǔ)鏡像服務(wù)的步驟

    Docker安裝基礎(chǔ)鏡像服務(wù)的步驟

    外部機器不能直接訪問容器,網(wǎng)是不通的,但可以訪問宿主機,只要將容器的端口與宿主機進行映射后,訪問宿主機的端口就相當(dāng)于訪問了容器的端口,本文介紹Docker如何安裝基礎(chǔ)鏡像服務(wù),感興趣的朋友一起看看吧
    2024-01-01
  • 詳解Docker退出容器不關(guān)閉容器的方法

    詳解Docker退出容器不關(guān)閉容器的方法

    進入docker容器后如果退出容器,容器就會變成Exited的狀態(tài),那么如何退出容器讓容器不關(guān)閉呢?現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01

最新評論

融水| 公主岭市| 伊吾县| 铜川市| 利川市| 杭锦后旗| 周至县| 静海县| 江阴市| 长岛县| 汉源县| 莒南县| 郸城县| 林口县| 和龙市| 高安市| 筠连县| 亳州市| 扶绥县| 武清区| 江口县| 潍坊市| 新竹县| 株洲县| 内黄县| 萨嘎县| 安国市| 安阳市| 比如县| 龙门县| 乌拉特中旗| 井冈山市| 肇源县| 威信县| 宜都市| 石家庄市| 绥阳县| 巴林右旗| 敦煌市| 揭西县| 柳州市|