自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

推薦一個極其輕量級的 Docker 基礎(chǔ)鏡像,大小 2MB

開發(fā) 后端
今天要說的是 Google 的 distroless 基礎(chǔ)鏡像,distroless 鏡像 gcr.io/distroless/static-debian11 只有 2 MB,是 Alpine 的一半,你可以在這里https://github.com/GoogleContainerTools/distroless 找到它,12.7k 的 Star。

你好,我是征哥,提到輕量級的 Docker 鏡像,很多人都知道 Alpine,因為它確實很輕,只有 5.57MB,使用它作為基礎(chǔ)鏡像的 Python 也就 44MB。

但它依然不是最輕量級的,今天要說的是 Google 的 distroless 基礎(chǔ)鏡像,distroless 鏡像 gcr.io/distroless/static-debian11 只有 2 MB,是 Alpine 的一半,你可以在這里https://github.com/GoogleContainerTools/distroless 找到它,12.7k 的 Star。

distroless 映像僅包含應用程序及其運行時依賴項,它不包含包管理器、shell、Linux 發(fā)行版的任何其他程序。這樣的好處就是輕,推送,拉取的速度都非???,也更安全。

什么情況應該使用 distroless?

現(xiàn)在基本上每個程序員都有自己的持續(xù)集成(CI)和持續(xù)發(fā)布( CD) 工作流,比如說,我部署自己的應用,為了減少在服務器上的配置工作,我就把應用放在 Docker,然后服務器拉取運行就可以。但有時構(gòu)建、推送和拉取鏡像需要很長時間,為了減少拉取,于是我不得不把 Docker 容器映射到服務器的磁盤,然后再上傳修改的代碼,在 Docker 容器內(nèi)安裝依賴,活活把 Docker 用成了虛擬機,最后換服務器的時候,又是一堆事情重復做一遍。

distroless 鏡像更輕,這意味著更快的拉取和推送。Docker 提供了一個超級最小的鏡像,當你使用它作為鏡像的基礎(chǔ)時,它不會創(chuàng)建額外的層。更少的層等于更快的下載和上傳。更快的工作流意味著對開發(fā)人員的反饋更快,花費的 CI 分鐘數(shù)更少。

安全性也是一個重要問題,如果不打算使用 sudo、ping、ls 之類的工具,容器中也不應該使用它們,比如說你的應用很容易受到攻擊,但是你應用運行的環(huán)境沒有 ls 或 sudo 這樣的工具,黑客也很難進行信息收集和命令執(zhí)行。

這里有一個實驗[1],分別用常規(guī)的容器和 distroless 部署一個有漏洞的 flask app。

常規(guī)的容器部署的可以進行命令執(zhí)行:

而 distroless 部署的就沒有:

原因是 distroless 沒有 ls 命令:

也就是說應始終避免使用那些幫助黑客收集更多信息或執(zhí)行權(quán)限提升的工具。

因此,如果注重推拉取鏡像的速度和容器的安全性,或者用于生產(chǎn)環(huán)境,可以用 distroless。

什么情況應該不使用 distroless?

如果你想在容器內(nèi)調(diào)試你程序,你需要 shell 和其他一些已安裝的工具,但 distroless 沒有這些,這時使用普通鏡像進行開發(fā)。

distroless 用于 Python 應用的例子

Dockerfile:
FROM python:3-slim AS build-env
COPY . /app
WORKDIR /app
FROM gcr.io/distroless/python3
COPY --from=build-env /app /app
WORKDIR /app
CMD ["hello.py", "/etc"]

最后的話

不過,distroless 需要開發(fā)人員付出更大的努力,不過只要你的 app 被更多的拉取,那節(jié)省出來的時間以及帶來的安全性,這都是值得的,讓我們持續(xù)關(guān)注 distroless。如果覺得有幫助,還請點贊、轉(zhuǎn)發(fā)、在看,感謝支持。

責任編輯:龐桂玉 來源: Python七號
相關(guān)推薦

2019-12-13 19:00:26

PekwmLinux桌面

2025-01-09 08:00:00

Fluxy文件傳輸

2023-02-28 18:06:08

Docker容器虛擬化

2022-06-06 22:23:26

Tina工具Markdown

2019-10-18 14:57:05

人臉識別AI人工智能

2021-10-27 11:29:32

框架Web開發(fā)

2023-06-28 08:16:50

Autofac應用程序

2021-01-05 08:35:24

GNU nanoVim編輯器

2020-09-28 15:55:32

開源技術(shù) 工具

2022-08-31 12:48:48

TinyDBPython數(shù)據(jù)庫

2020-08-27 11:39:05

JavaRESTful Web編程語言

2017-10-11 16:12:19

內(nèi)存

2023-02-27 09:49:31

Java開發(fā)工具

2020-06-10 08:23:44

JavaScript開發(fā)Web

2023-09-14 09:31:21

Docker容器

2020-12-31 09:20:51

Redis搜索引擎

2025-04-28 08:25:00

狀態(tài)機框架狀態(tài)機開發(fā)

2012-06-25 11:43:32

ibmdw

2025-04-25 09:00:00

2020-12-10 11:18:47

Redis搜索引擎Java
點贊
收藏

51CTO技術(shù)棧公眾號