我到處找,但似乎沒有實際圖層的完整細分(至少我找不到)。
我是 Docker 的新手,我正在嘗試了解有關系統如何作業的所有內容。我已經了解Docker 用于創建和存盤其影像的層系統。
現在我的問題是準確了解官方 Docker Python 映像中存在哪些層。根據我的計算機知識,我知道 Python 需要某種“基礎”才能作業。這個想法部分被以下事實證實,在 Docker Python 影像網頁上,您實際上可以看到該影像所基于的 OS/ARC。
例如,如果我們拍攝超薄影像,根據網頁,我可以計算執行的運算元。
我的問題是:這些操作是實際的層,還是只是兩個層?作業系統/內核層和實際的 Python 層?
uj5u.com熱心網友回復:
您可以在鏈接的網頁上看到的圖層是實際圖層。因此該影像中有 15 個圖層。
一些層做了很多作業,比如第一個添加了一個焦油球并提取它。那個 tar 球包含很多檔案。
Dockerfile 中的大多數命令都會導致創建一個新層。
您通常可以將完整的 Dockerfile 追溯到源頭,因為其中很多都是開源的。
python:slim-buster Dockerfile 在這里:https : //github.com/docker-library/python/blob/8d48af512dc58e9c29c9d4ee59477c195a29cbdc/3.10/buster/slim/Dockerfile
在頂部,您可以看到基本影像是debian:buster-slim. 通過一些谷歌搜索,您可以在此處找到 Dockerfile:https : //github.com/debuerreotype/docker-debian-artifacts/blob/d99a48edaa18ad2bbb260c388b274c8c093f2d32/buster/slim/Dockerfile
該影像基于scratch哪個是空影像。所以這就是鏈條的末端。debian:buster-slim 映像中 ADD 命令中的 tar 檔案基本上包含運行 Debian 所需的完整 Debian 設定。
在 Python Dockerfile 中值得注意的一點是,許多 RUN 陳述句包含許多與&&. 這樣做是為了減少層數。如果這些 RUN 陳述句中的每個命令都在它自己的 RUN 陳述句上,那么會有更多的層。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/329448.html
