簡體   English   中英

Docker 的 Python 鏡像的基礎層是什么

[英]What are the base layers of Docker's Python image

我到處找,但似乎沒有實際圖層的完整細分(至少我找不到)。

我是 Docker 的新手,我正在嘗試了解有關系統如何工作的所有內容。 我已經了解Docker 用於創建和存儲其圖像的層系統。

現在我的問題是准確了解官方 Docker Python 映像中存在哪些層。 根據我的計算機知識,我知道 Python 需要某種“基礎”才能工作。 這個想法部分被以下事實證實,在 Docker Python 圖像網頁上,您實際上可以看到該圖像所基於的 OS/ARC。

例如,如果我們拍攝超薄圖像,根據網頁,我可以計算執行的操作數。

我的問題是:這些操作是實際的層,還是只是兩個層? 操作系統/內核層和實際的 Python 層?

您可以在鏈接的網頁上看到的圖層是實際圖層。 因此該圖像中有 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 語句上,那么就會有更多的層。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM