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

Docker中忽略文件的實現

 更新時間:2023年10月09日 11:02:41   作者:極客  
Docker忽略文件是指在Docker鏡像構建過程中,用于忽略指定文件或目錄的一種機制,本文主要介紹了Docker中忽略文件的實現,具有一定的參考價值,感興趣的可以了解一下

簡介

在這篇文章中,我們將學習docker中的忽略文件。如何創(chuàng)建一個忽略文件,以及如何用各種方法將文件和文件夾添加到忽略文件中。所有先決條件的知識都以逐步的方式提到。在不了解代碼行業(yè)對ignore文件的要求的情況下,不要直接跳到實現。

什么是被忽略的文件

忽略在不同系統(tǒng)中創(chuàng)建的文件,比如在Git倉庫和Dockerifle中。這些文件有助于排除一些文件和目錄在輸出中被使用或復制。dockerfile的輸出是圖像,而git的輸出可能是提交。DevOps中最常用的一些忽略文件的例子是 “gitignore “和 “dockerignore”。

要忽略的文件類型

主要任務是忽視事物。這些東西可以是不同類型的。比如它可以是python中的程序文件,也可以是ReactJS應用目錄中的子目錄。所有這些文件都在下面的列表中提到。

  • Directory
  • 文件 – 文本或程序文件
  • 子目錄
  • .dockerignore本身

忽略這些文件的必要性是因為我們在最終產品中不再需要這些文件。這些文件只需要在主機上。

方法

在本節(jié)中,我們將學習如何通過將不同類型的文件添加到dockerignore文件中來排除它們。

所有要在dockerignore中出現的文件都應該提到docker context目錄。Docker上下文是指所有需要添加到鏡像中的有用文件所在的目錄路徑。大多數情況下,我們在構建鏡像時使用.(點)作為docker context。

創(chuàng)建一個”.dockerignore “文件

.dockerignore “應該在你的Dockerfile存在的地方創(chuàng)建,否則它將無法工作。使用下面的命令來創(chuàng)建和排除各種類型的文件。

$touch .dockerignore

我們已經創(chuàng)建了一個目錄結構,用于解釋所有這些方法。

$tree -la

輸出

.
├── dir1
├── dir2
├── dir3
│ ├── dir3_1
│ │ └── file_dir3_1.txt
│ ├── dir3_2
│ ├── file1_dir3.txt
│ └── file2_dir3.py
├── Dockerfile
├── .dockerignore
├── file1.txt
├── file2.sh
├── file3.py
├── no_ex1
└── No_ex2

5 directories, 10 files

打開ignore文件,從上面的目錄結構中添加各種文件。

$nano .dockerignore

有一些規(guī)則可以在docker ignore文件中添加不同種類的文件、目錄和注釋。

在dockerignore文件中添加一個注釋

在開始注釋的時候使用#,會將該行視為一個注釋。

#This is a comment in the .dockerignore file

忽略docker上下文或根目錄級別的目錄

dir1
dir2

這將忽略存在于docker上下文根層的目錄(dir1 & dir2)。參考一下上面的目錄結構。

忽略所有的文件和目錄

排除所有名稱中帶有 “file “的文件和目錄。這些文件將只來自根目錄。

file*

忽略docker上下文中最多一級的子目錄

忽略根目錄下任何子目錄中的文件以及目錄。

#using */ to go one level down
*/file1_dir3.txt

忽略一個子目錄,直到docker上下文的兩層以下。

這與上述方法非常相似。

#using */*/ to go two level down
*/*/file_dir3_1.txt

要重新包括一個文件

有一些特殊情況,當我們想包括一個先前被排除在外的特定文件。

*.txt
!myfile.txt

假設你正在創(chuàng)建一個Python容器鏡像。根目錄包含了所有來自不同貢獻者的python程序,所以你不能刪除它們,你只能使用這個根目錄。你可以執(zhí)行下面的例子來排除所有的Python程序,然后重新包含你的Python程序文件。

第1步 – 假設根目錄中充滿了pythons文件

Prg1.py. Prg2.py, Prg3.py …………..and myprogram.py

第2步 − 創(chuàng)建一個.dockerignore文件,如下所示

#ignore all the python program files
*.py
#reinclude your python program file
!myprogram.py

這個過程會更快,而且不需要將不需要的東西COPY/ADD到docker容器鏡像中。

實現

這里我們要創(chuàng)建一個完整的環(huán)境,使用Dockerfile、.dockerignore,并使用這些文件構建一個容器鏡像。使用的目錄結構與方法部分中提到的相同。

.
├── dir1
├── dir2
├── dir3
│ ├── dir3_1
│ │ └── file_dir3_1.txt
│ ├── dir3_2
│ ├── file1_dir3.txt
│ └── file2_dir3.py
├── Dockerfile
├── .dockerignore
├── file1.txt
├── file2.sh
├── file3.py
├── no_ex1
└── No_ex2

第1步 − 創(chuàng)建一個Docker文件并添加代碼。

$nano Dockerfile

輸入

#for the base image we are using busybox
FROM busybox:latest
#set a working directory
WORKDIR /my_context_directory
#copy everything from the build context to the working directory of the
#image
COPY . .
# list all the copied items
RUN ls -l

保存該文件。

第2步 − 創(chuàng)建一個.dockerignore文件

$nano .dockerignore

輸入

#exclude the file_dir3_1.txt
file_dir3_1.txt
#exclude file from the root
file3.py
#exclude a directory one level down
*/dir3_2

保存該文件。

第3步 − 構建鏡像并檢查構建輸出

$docker build -t test_ignore .

輸出

Sending build context to Docker daemon 9.728kB
Step 1/4 : FROM busybox:latest
   ---> 9d5226e6ce3f
Step 2/4 : WORKDIR /my_context_directory
   ---> Running in 49d65f57621d
Removing intermediate container 49d65f57621d
   ---> 386c30f8f511
Step 3/4 : COPY . .
   ---> 75f65dace2be
Step 4/4 : RUN ls -l
   ---> Running in bd8bbec7d3f9
total 12
-rw-rw-r-- 1 root root 0 Dec 9 03:47 No_ex2
drwxrwxr-x 2 root root 4096 Dec 9 03:47 dir1
drwxrwxr-x 2 root root 4096 Dec 9 03:47 dir2
drwxrwxr-x 3 root root 4096 Dec 9 03:48 dir3
-rw-rw-r-- 1 root root 0 Dec 9 03:46 file1.txt
-rw-rw-r-- 1 root root 0 Dec 9 03:46 file2.sh
-rw-rw-r-- 1 root root 0 Dec 9 03:47 no_ex1
Removing intermediate container bd8bbec7d3f9
   ---> 084bb699260f
Successfully built 084bb699260f
Successfully tagged test_ignore:latest

輸出顯示,除了dockerignore文件中的文件外,所有的文件都被復制到了容器鏡像中。

總結

在這篇文章中,我們對”.dockerignore “文件進行了360度的全面探討。排除、包括,以及這個文件的重要性都被清楚地說明了。為了親身體驗這個主題,我們創(chuàng)建了不同的環(huán)境,并通過上述方法來實現。

到此這篇關于Docker中忽略文件的實現的文章就介紹到這了,更多相關Docker 忽略文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • docker 多個-e參數的具體使用

    docker 多個-e參數的具體使用

    在使用Docker鏡像運行容器時,我們可以通過使用-e參數來設置環(huán)境變量,有時我們需要設置多個環(huán)境變量,這就涉及到如何實現多個-e參數的問題,本文就來詳細的介紹一下
    2024-01-01
  • docker的harbor倉庫登錄問題小結

    docker的harbor倉庫登錄問題小結

    在使用Docker?Harbor時,可能會因為證書信任問題或DNS解析問題導致登錄失敗,解決方法包括將自簽名證書添加到系統(tǒng)的可信證書存儲中,本文給大家介紹docker的harbor倉庫登錄問題,感興趣的朋友一起看看吧
    2024-09-09
  • Docker Compose的安裝和使用步驟

    Docker Compose的安裝和使用步驟

    Docker Compose是一個工具,用于定義和運行多容器應用程序的工具,接下來通過本文給大家分享Docker Compose的安裝和使用教程一起看看吧
    2021-09-09
  • Docker?容器安裝?Dify的兩種方法詳解

    Docker?容器安裝?Dify的兩種方法詳解

    該文章介紹了如何使用Docker容器在Windows上安裝Dify,方法一通過拉取Dify鏡像并運行容器,方法二通過克隆Dify源代碼并使用DockerCompose啟動容器,兩種方法各有優(yōu)缺點,選擇哪種方法取決于具體需求,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • Docker數據卷和容器編排的使用

    Docker數據卷和容器編排的使用

    這篇文章主要介紹了Docker數據卷和容器編排的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • 寫給前端的nginx配置指南基于docker所有配置秒級運行(最新講解)

    寫給前端的nginx配置指南基于docker所有配置秒級運行(最新講解)

    這篇文章主要介紹了寫給前端的nginx配置指南基于docker所有配置秒級運行,通過?docker?高效學習?nginx?配置,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 詳解docker容器分配靜態(tài)IP

    詳解docker容器分配靜態(tài)IP

    這篇文章主要介紹了詳解docker容器分配靜態(tài)IP,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 一條命令重啟所有已停止的docker容器操作

    一條命令重啟所有已停止的docker容器操作

    這篇文章主要介紹了一條命令重啟所有已停止的docker容器操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker maven plugin快速部署微服務的詳細流程

    docker maven plugin快速部署微服務的詳細流程

    本文給大家介紹docker?maven?plugin微服務快速部署方法,主要將Dockerfile寫在pom中方便項目管理,將微服務的 打包、上傳、鏡像創(chuàng)建操作整合到一條命令中執(zhí)行,感興趣的朋友跟隨小編一起看看吧
    2022-04-04
  • Docker MQTT安裝使用教程

    Docker MQTT安裝使用教程

    今天小編就為大家分享一篇關于Docker MQTT安裝使用教程,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10

最新評論

延安市| 漳平市| 奉节县| 莲花县| 忻州市| 永丰县| 门头沟区| 永仁县| 襄樊市| 贡山| 西平县| 金平| 南皮县| 花莲县| 永嘉县| 曲阳县| 泾阳县| 井冈山市| 桃源县| 龙泉市| 平舆县| 贵定县| 湟中县| 秦皇岛市| 余庆县| 隆昌县| 巴楚县| 邮箱| 昌宁县| 涟源市| 攀枝花市| 隆子县| 龙山县| 中西区| 东安县| 惠安县| 阿尔山市| 巴东县| 宣恩县| 万载县| 宣化县|