日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

打docker镜像_从安全到镜像流水线,Docker 最佳实践与反模式一览

發布時間:2024/9/27 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 打docker镜像_从安全到镜像流水线,Docker 最佳实践与反模式一览 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者 | Timothy Mugayi

譯者 | 彎月,責編 | 夕顏

封圖 | CSDN付費下載自視覺中國

出品 | CSDN(ID:CSDNnews)

在使用Docker的大部分時間里,我們并不關心其內部的工作原理。僅憑啟動一個Docker容器并且讓應用程序運行良好,并不能說明你已經實現了一個良好的解決方案。有時,由于時間限制,我們只能復制粘貼Docker鏡像,卻沒能真正理解實現細節以及如何構建Docker鏡像的細微差別。

在本文中,我們將探討Docker的最佳實踐和反模式。反模式是人們對于反復出現的問題的一般解決方案,這些方案沒有效率,甚至會完全抵消Docker技術棧帶來的好處。

下面我們來看看我們的哪些做法不可取。

我們需要的標簽

標簽是必不可少的,我們需要通過標簽傳達有關Docker鏡像的信息。你可以將標簽視為Docker鏡像ID的別稱。Git標簽負責標記特定的提交,而Docker標簽與之類似,可以給不同時間點上的Docker鏡像添加版本。忘記打標簽是小事,但會帶來一些弊端,具體來講,如果未指定標記,則默認鏡像將被標記為latest。

FROM your_image_name:latest

如果你頻繁執行該操作,那么很有可能鏡像不是最新的,可能指向的是舊版本。因此,請使用適當的標簽并遵守某個版本控制標準,例如語義版本控制。這樣,Docker鏡像使用者才能確保Docker鏡像的兼容性并時刻保持最新,還可以有計劃地使用正確的版本。

還有一個情況應該避免。你可以利用最新的默認標簽(如FROM python3:latest),從Docker鏡像倉庫中提取最新的鏡像。乍一看,這種做法似乎是個好主意,但卻有一些意想不到的副作用:每個最新的請求可能都會派生出與以前的構建完全不同的Docker鏡像。弄明白Docker鏡像損壞的原因將會變得很困難,因為鏡像本應該是不可變的。因此,我強力建議使用特定的標簽來標記鏡像(例如:python3:1.0.1)。這種方法可以確保你的Dockerfile保持不變。

在同一個容器中運行多個服務

雖然你可以在同一個容器中運行多個服務,但我并不建議你這么做,原因有兩個。在使用Docker服務時,我們應該努力維持責任單一性。最佳做法是,組成應用程序的每個服務都應在各自的容器中運行,請務必將每項獨立的功能都打包到單獨的獨立容器鏡像中。

將多個服務添加到一個Docker鏡像的做法似乎很誘人,但是你不應該將容器鏡像視為虛擬機。一個容器包含多個服務,可能會導致你的應用程序很難水平擴展。Docker容器核心概念是,它們都是瞬態的,專為分發而設計,這對于現代Web應用程序來說很理想,因為它的瞬態特性、擴展和并發會非常容易。添加多個服務會增加管理分發的難度。

另外,單個容器上的多個服務還會加大管理安全性的難度。龐大的鏡像可能會降低CI/CD的速度,你需要小心。

使用LABEL對鏡像進行分類

這并不能說是反模式,但我認為值得一提。我在處理各種Docker鏡像時注意到了一件事:有時這些鏡像的創建者沒有使用LABEL maintainer標簽。這個標簽可在事件中設置鏡像的Author字段,當出現問題或需要澄清時,這個標簽可以方便大家了解該與何人內部聯系;如果鏡像是公開共享的,也可以知道該與哪個外部的人聯系。

這絕不是唯一可以使用的標簽。你可以根據需要定義各種標簽,來對鏡像進行分類,定義許可信息,也可以定義標簽來幫助自動化。

除了maintainer,還可以使用多行標簽:

# Set one or more individual labelsLABEL com.example.version="0.0.1-beta"LABEL vendor1="RBTSB Incorporated"LABEL vendor2=TIPTAPCODE IncorporatedLABEL com.example.release-date="202-04-02"LABEL com.example.version.production="0.0.1"

Docker 1.10之前的單行標簽會創建新的docker層,如果你使用的是最新版的Docker,則不必擔心創建額外的層。

LABEL vendor=ACME Incorporated com.example.is-beta= com.example.is-production="" com.example.version="0.0.1-beta" com.example.release-date="2015-02-12"

我們應該將盡可能多的元數據添加到不可變的Docker鏡像,以方便追蹤,提高可見性和可維護性。

避免構建依賴特定環境的鏡像

在構建Docker鏡像時,我們應始終牢記不變性。最好不要使用帶有dev、test、staging和production的鏡像,因為這會破壞單一來源的原則。另一個問題是,如果在不同環境上驗證或調試,則這種做法無法保證鏡像的相似。

為什么要使用非Root容器?

在默認情況下,Docker容器以root身份運行。以root用戶身份運行的Docker容器可以完全控制主機系統。然而,出于安全考慮,我并不推薦這種做法。使用非root運行的Docker容器鏡像可以多一層保護,在生產環境中通常建議使用非root容器。但是,由于這些容器由非root用戶運行,因此無法執行需要特殊權限的任務。如果需要利用USER指令指定非root用戶(如以下示例所示),則需要進行一些上下文切換。

FROM python:3.6-slim-busterLABEL maintainer="Timothy Mugayi "RUN apt-get update && apt-get install -y --no-install-recommends wget && rm -rf /var/lib/apt/lists/*# Dumb initRUN wget -O /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64RUN chmod +x /usr/local/bin/dumb-initRUN pip install --upgrade pipWORKDIR /usr/src/appCOPY requirements.txt .RUN pip install -r requirements.txtCOPY helloworld.py .USER 1001ENTRYPOINT ["/usr/local/bin/dumb-init

總結

以上是生活随笔為你收集整理的打docker镜像_从安全到镜像流水线,Docker 最佳实践与反模式一览的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品人妻一区二区三区四区在线 | 亚洲免费一区二区 | 免费在线观看亚洲 | 91av在线免费视频 | 久久免费看视频 | 亚洲精品视频在线观看视频 | 中文字幕国产在线观看 | 精品一区二区三区视频日产 | 色午夜婷婷 | 美国美女黄色片 | 亚洲欧洲中文字幕 | 欧美日韩中文国产一区发布 | 亚洲欧美自拍一区 | av一区二区在线观看 | 久久国产网站 | 国产成人精品影院 | 欧美一区二区黄色 | 中国字幕av | 日韩青青草 | 国产青青| 国产做爰全免费的视频软件 | 无码精品人妻一区二区 | 亚洲免费在线观看av | 天天操人人 | 高清日韩欧美 | 亚洲阿v天堂| 婷婷丁香花五月天 | 国产学生美女无遮拦高潮视频 | 国产成人一区二区三区小说 | 亚洲蜜桃av一区二区 | 日韩精品极品视频免费观看 | 欧美一区二区在线观看 | 人人干在线 | 日本一级一片免费视频 | 成人动漫亚洲 | 女同调教视频 | 又大又长粗又爽又黄少妇视频 | 少妇无内裤下蹲露大唇视频 | 青青草免费看 | 99久久久久久久久 | 超鹏在线视频 | 日本美女一级片 | 视频在线亚洲 | 亚洲精品国产福利 | 国产人人爱 | 在线视频中文字幕 | 亚洲色图日韩精品 | 五月天啪啪 | 4438亚洲 | 精品久久毛片 | 熟女俱乐部一区二区 | 狠狠做深爱婷婷久久综合一区 | 伊人网大 | 97视频一区二区三区 | 男人日女人在线观看 | 午夜av影院 | 日本在线一本 | 不卡日本 | 国产丰满农村老妇女乱 | 精品成人18| 337p粉嫩大胆噜噜噜噜69影视 | 精品人妻无码一区二区三 | 污视频导航 | 少妇aa| 亚洲av午夜精品一区二区三区 | 狂野欧美性猛交xxⅹ李丽珍 | 啦啦啦av| 激情午夜天 | 国产精品腿扒开做爽爽爽挤奶网站 | 理论片毛片 | 亚洲av久久久噜噜噜熟女软件 | 爽妇网国产精品 | 梦梦电影免费高清在线观看 | 999黄色片| 国产欧美精品一区二区 | 夜夜爽夜夜叫夜夜高潮漏水 | 免费黄色av | av2018| 亚洲精品视频网址 | 精品亚洲国产成人av制服丝袜 | 国产一级二级三级在线观看 | 色呦呦呦呦| yjizz国产 | 日韩欧美一区二区三区免费观看 | 亚洲老老头同性老头交j | 国产又粗又猛又黄又爽无遮挡 | 五月婷中文字幕 | 午夜视频在线观看网站 | 91视频99| 成年人在线播放 | 日本精品少妇 | 91不卡视频 | 一二区在线视频 | 亚洲男人的天堂在线视频 | se94se欧美| 国产日韩高清在线 | 欧美三级在线播放 | aaa亚洲精品 | 亚洲免费视频观看 |