精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

五種快速查找容器文件系統中文件的方法

系統 Linux
我們將從研究容器文件系統的簡單和通常推薦的方法開始,并討論為什么它們不能總是工作。

[[436308]]

 如果你經常使用容器,那么你很有可能希望在某個時刻查看正在運行的容器的文件系統。也許容器無法正常運行,你想讀取一些日志,也許你想檢查容器內部的一些配置文件…或者,你可能像我一樣,想在該容器中的二進制文件上放置一些 eBPF 探針(稍后將詳細介紹)。

不管原因是什么,在這篇文章中,我們將介紹一些可以用來檢查容器中的文件的方法。

我們將從研究容器文件系統的簡單和通常推薦的方法開始,并討論為什么它們不能總是工作。接下來,我們將對 Linux 內核如何管理容器文件系統有一個基本的了解,我們將利用這一了解以不同但仍然簡單的方式檢查文件系統。

方法一:Exec 到容器中

如果你快速搜索如何檢查容器的文件系統,你會發現一個常見的解決方案是使用 Docker 命令: 

  1. docker exec -it mycontainer /bin/bash 

這是一個很好的開始。如果它能滿足你的所有需求,你應該繼續使用它。

然而,這種方法的一個缺點是,它需要在容器中存在一個 shell。如果容器中沒有/bin/bash、/bin/sh 或其他 shell,那么這種方法將不起作用。例如,我們為 Pixie 項目構建的許多容器都是基于無 distroless 的,并且沒有包含一個 shell 來保持鏡像較小。在這些情況下,這種方法不起作用。

即使 shell 可用,你也無法訪問所有你習慣使用的工具。因此,如果容器中沒有安裝 grep,那么你也不能訪問 grep。這是另一個找更好工作的理由。

方法二:使用 nsenter

如果你再深入一點,就會意識到容器進程與 Linux 主機上的其他進程一樣,只是在命名空間中運行,以使它們與系統的其他部分隔離。

所以你可以使用 nsenter 命令來輸入目標容器的命名空間,使用類似這樣的東西: 

  1. # Get the host PID of the process in the container  
  2. PID=$(docker container inspect mycontainer | jq '.[0].State.Pid')  
  3. # Use nsenter to go into the container’s mount namespace.  
  4. sudo nsenter -m -t $PID /bin/bash 

它進入目標進程的掛載(-m)命名空間(-t $PID),并運行/bin/bash。進入掛載命名空間本質上意味著我們獲得容器所看到的文件系統視圖。

這種方法似乎比 docker 的 exec 方法更有前途,但也遇到了類似的問題:它要求目標容器中包含/bin/bash(或其他 shell)。如果我們輸入的不是掛載命名空間,我們仍然可以訪問主機上的文件,但是因為我們是在執行/bin/bash(或其他 shell)之前輸入掛載命名空間,所以如果掛載命名空間中沒有 shell,我們就不走運了。

方法三:使用 docker 復制

解決這個問題的另一種方法是簡單地將相關文件復制到主機,然后使用復制的文件。

要從正在運行的容器中復制選定的文件,可以使用: 

  1. docker cp mycontainer:/path/to/file file 

也可以用以下方法來快照整個文件系統: 

  1. docker export mycontainer -o container_fs.tar 

這些命令使你能夠檢查文件,當容器可能沒有 shell 或你需要的工具時,這些命令比前兩種方法有了很大的改進。

方法四:在主機上查找文件系統

復制方法解決了我們的許多問題,但是如果你試圖監視日志文件呢?或者,如果你試圖將 eBPF 探針部署到容器中的文件中,又該怎么辦呢?在這些情況下,復制是不起作用的。

我們希望直接從主機訪問容器的文件系統。容器的文件應該在主機的文件系統中,但是在哪里呢?

Docker 的 inspect 命令給了我們一個線索: 

  1. docker container inspect mycontainer | jq '.[0].GraphDriver' 

這給我們: 

  1.  
  2.   "Data": {  
  3.     "LowerDir": "/var/lib/docker/overlay2/63ec1a08b063c0226141a9071b5df7958880aae6be5dc9870a279a13ff7134ab-init/diff:/var/lib/docker/overlay2/524a0d000817a3c20c5d32b79c6153aea545ced8eed7b78ca25e0d74c97efc0d/diff", 
  4.     "MergedDir": "/var/lib/docker/overlay2/63ec1a08b063c0226141a9071b5df7958880aae6be5dc9870a279a13ff7134ab/merged", 
  5.     "UpperDir": "/var/lib/docker/overlay2/63ec1a08b063c0226141a9071b5df7958880aae6be5dc9870a279a13ff7134ab/diff", 
  6.     "WorkDir": "/var/lib/docker/overlay2/63ec1a08b063c0226141a9071b5df7958880aae6be5dc9870a279a13ff7134ab/work"  
  7.   },  
  8.   "Name": "overlay2"  

讓我們來分析一下:

  •  LowerDir:包含容器內所有層的文件系統,最后一層除外
  •  UpperDir:容器最上層的文件系統。這也是反映任何運行時修改的地方。
  •  MergedDir:文件系統所有層的組合視圖。
  •  WorkDir:用于管理文件系統的內部工作目錄。

基于 overlayfs 的容器文件系統結構。

因此,要查看容器中的文件,只需查看 MergedDir 路徑。 

  1. sudo ls /var/lib/docker/overlay2/63ec1a08b063c0226141a9071b5df7958880aae6be5dc9870a279a13ff7134ab/merged 

如果你想了解文件系統工作的更多細節,你可以查看 Martin Heinz 關于 overlay 文件系統的博客文章:https://martinheinz.dev/blog/44

方法五:/proc/<pid>/root

把最好的留到最后,還有一種從主機找到容器文件系統的更簡單的方法。使用容器內進程的宿主 PID,你可以簡單地運行: 

  1. sudo ls /proc/<pid>/root 

Linux 已經為你提供了進程掛載命名空間的視圖。

此時,你可能會想:為什么我們不采用這種方法,并將其變成一篇只有一行字的博客文章呢?但這都是關于旅程,對吧?

彩蛋:/proc/<pid>/mountinfo

出于好奇,方法四中討論的關于容器 overlay 文件系統的所有信息也可以直接從 Linux /proc 文件系統中發現。如果你查看/proc/<pid>/mountinfo,你會看到如下內容: 

  1. 2363 1470 0:90 / / rw,relatime master:91 - overlay overlay rw,lowerdir=/var/lib/docker/overlay2/l/YZVAVZS6HYQHLGEPJHZSWTJ4ZU:/var/lib/docker/overlay2/l/ZYW5O24UWWKAUH6UW7K2DGV3PB,upperdir=/var/lib/docker/overlay2/63ec1a08b063c0226141a9071b5df7958880aae6be5dc9870a279a13ff7134ab/diff,workdir=/var/lib/docker/overlay2/63ec1a08b063c0226141a9071b5df7958880aae6be5dc9870a279a13ff7134ab/work 
  2. 2364 2363 0:93 / /proc rw,nosuid,nodev,noexec,relatime - proc proc rw 
  3. 2365 2363 0:94 / /dev rw,nosuid - tmpfs tmpfs rw,size=65536k,mode=755,inode64  
  4. … 

在這里,你可以看到容器已經掛載了一個覆蓋文件系統作為它的根。它還報告與 docker inspect 報告相同類型的信息,包括容器文件系統的 LowerDir 和 UpperDir。它沒有直接顯示 MergedDir,但你可以直接使用 UpperDir 并將 diff 改為 merged,這樣你就可以看到容器的文件系統了。

我們在 Pixie 怎么用這個

在本博客的開頭,我提到了 Pixie 項目需要如何在容器上放置 eBPF 探針。為什么和如何?

Pixie 內部的 Stirling 模塊負責收集可觀察數據。由于是 k8s 原生的,所以收集的很多數據都來自于在容器中運行的應用程序。Stirling 還使用 eBPF 探針從它監視的進程中收集數據。例如,Stirling 在 OpenSSL 上部署 eBPF 探針來跟蹤加密的消息(如果你想了解更多有關這方面的細節,請參閱SSL 跟蹤博客[1])。

由于每個容器都捆綁了自己的 OpenSSL 和其他庫,因此 Stirling 部署的任何 eBPF 探針都必須位于容器內的文件上。因此,Stirling 使用本文中討論的技術在 K8s 容器中找到感興趣的庫,然后從主機將 eBPF 探針部署到這些二進制文件上。

下圖概述了在另一個容器中部署 eBPF 探針的工作方式。

Stirling 通過掛載主機文件系統在其他容器上部署 eBPF 探針,然后在主機上找到目標容器文件系統。

總結

下次當你需要檢查容器中的文件時,希望你能嘗試一下這些技巧。一旦你體驗到不再受容器有沒有 shell 限制的自由,你可能就再也不會回去了。只需要訪問/proc/<pid>/root! 

 

責任編輯:龐桂玉 來源: 奇妙的Linux世界
相關推薦

2010-06-04 19:12:38

Hadoop文件系統

2018-07-02 15:18:39

Linux文件系統

2021-03-10 08:02:58

Findmnt命令系統

2021-08-25 10:10:52

findmnt命令Linux

2023-07-13 23:35:06

系統Linux

2020-07-22 14:53:06

Linux系統虛擬文件

2013-05-27 14:46:06

文件系統分布式文件系統

2011-01-13 14:10:30

Linux文件系統

2014-01-24 09:58:45

fuse文件系統

2018-05-29 09:00:00

LinuxBTFS文件系統

2010-04-30 15:51:48

Unix系統

2012-09-19 13:48:33

pNFS文件系統

2021-07-09 19:04:55

Cache查找消息

2013-04-17 09:17:37

Linux文件系統系統清理工具

2019-09-20 10:04:45

Linux系統虛擬文件

2018-08-24 10:10:25

Linux文件系統技術

2009-04-08 15:36:46

LinuxLustre集群文件系統

2020-01-15 09:10:13

LinuxWindowsmacOS

2011-01-25 10:27:12

Linux 文件系統屬

2024-01-31 09:24:58

點贊
收藏

51CTO技術棧公眾號

粉嫩一区二区三区国产精品| 性久久久久久久久久| 羞羞的网站在线观看| 99精品视频一区二区三区| 欧美一级电影免费在线观看| 我不卡一区二区| а天堂中文最新一区二区三区| 亚洲自拍偷拍图区| 日韩精品资源| 亚洲国产精品欧美久久 | wwwjizzjizzcom| 人成在线免费视频| 国产精品一区二区三区四区| 欧美怡红院视频一区二区三区| 青青青视频在线播放| 国产一区二区三区亚洲| 欧美日韩一区久久| 国产视频九色蝌蚪| www在线观看播放免费视频日本| 99免费精品视频| 91久久综合亚洲鲁鲁五月天| 精品国产乱子伦| 在线 亚洲欧美在线综合一区| 中文字幕日韩欧美| 国产美女精品久久| jizz性欧美23| 欧美一区日韩一区| 亚洲综合在线网站| 电影在线观看一区| 亚洲精品免费视频| 性欧美精品一区二区三区在线播放 | 91精品国产综合久久久久久久久 | 成人国产精品免费视频| 中文字幕在线播| 亚洲欧洲一区| 欧美高清在线播放| 国产第一页浮力| 欧美综合一区| 亚洲免费小视频| 亚洲av成人片无码| 凹凸成人在线| 日韩女优av电影在线观看| 国产美女18xxxx免费视频| 亚洲成人av观看| 色狠狠综合天天综合综合| 免费一级特黄毛片| 成人高潮aa毛片免费| 亚洲精品欧美在线| 超级碰在线观看| 国产高清一区二区三区视频| 国产精品超碰97尤物18| 亚洲欧美日本国产有色| av在线1区2区| 国产精品污网站| 亚洲国产精品www| av色图一区| 136国产福利精品导航| 麻豆md0077饥渴少妇| 看黄网站在线| 玉米视频成人免费看| 免费看黄色a级片| 麻豆福利在线观看| 亚洲成人免费看| 少妇人妻无码专区视频| 麻豆国产在线| 一本色道亚洲精品aⅴ| 亚洲成熟丰满熟妇高潮xxxxx| 在线精品亚洲欧美日韩国产| 色欧美日韩亚洲| 午夜免费福利视频在线观看| 中文成人在线| 亚洲国产1区| 91九色最新地址| caopor在线视频| 亚洲精品一区三区三区在线观看| 欧美三级在线视频| 两女双腿交缠激烈磨豆腐| 成人性生交大片免费看中文视频| 日韩电影在线观看中文字幕 | 欧美成人免费一级人片100| 国产在线观看一区| 天堂中文字幕在线观看| 久久久蜜桃一区二区人| 国产精品自在线| 国产三级在线观看视频| 成人午夜电影小说| 国产成人极品视频| 日韩熟女一区二区| 国产一区二区三区综合| 91香蕉国产在线观看| 国精品人妻无码一区二区三区喝尿| 成+人+亚洲+综合天堂| 日本免费一区二区三区| 欧美成人二区| 亚洲va国产va欧美va观看| 久久久久久久少妇| 国产精品美女久久久久| 亚洲精品wwwww| 中国美女黄色一级片| 国一区二区在线观看| 国产精品第10页| 国产视频www| 久久久国产精品午夜一区ai换脸| 中文字幕av日韩精品| 香蕉伊大人中文在线观看| 欧美精选在线播放| 公侵犯人妻一区二区三区| 你懂的亚洲视频| 国产精品第8页| 色呦呦免费观看| 国产精品乱码一区二区三区软件| 日韩精品 欧美| 国产一区二区三区精品在线观看| 亚洲欧洲国产伦综合| 精品肉丝脚一区二区三区| 男男视频亚洲欧美| 蜜桃精品久久久久久久免费影院| 亚洲欧美成人影院| 欧美日韩在线直播| 久久精品老司机| 亚洲视频一区| 91文字幕巨乱亚洲香蕉| yw视频在线观看| 日韩欧美国产一区二区| 男女性杂交内射妇女bbwxz| 欧美激情成人| 国产精品美乳一区二区免费| 丝袜视频国产在线播放| 亚洲大片精品免费| 亚洲成人免费在线视频| 性欧美疯狂猛交69hd| 一本久道久久综合婷婷鲸鱼| 成人免费福利在线| 日韩特黄一级片| 粉嫩的18在线观看极品精品| 久久夜色精品国产亚洲aⅴ| 黄色片视频免费| 97精品电影院| 黄色国产一级视频| 国产精品无码天天爽视频| 美腿丝袜亚洲色图| 日本精品视频一区| 黑人糟蹋人妻hd中文字幕| 日本一二三区在线视频| 亚洲大片精品永久免费| 不许穿内裤随时挨c调教h苏绵| 久久久9色精品国产一区二区三区| 日本久久久久亚洲中字幕| 四虎在线视频免费观看| 午夜久久福利影院| www.com日本| 激情欧美日韩| 国产伦精品一区二区三区照片| 色呦呦在线免费观看| 日韩视频一区二区三区在线播放| 在线观看成人毛片| 国产99久久久国产精品免费看| 成人在线观看www| 精品久久免费| 欧美激情免费观看| 天天爽夜夜爽夜夜爽| 欧美午夜www高清视频| 国产三级国产精品| 日韩精品一二区| 亚洲一区在线免费| 996久久国产精品线观看| 欧美不卡视频一区发布| 亚洲国产综合一区| 精品国产福利视频| 级毛片内射视频| 久国产精品韩国三级视频| 五月天在线免费视频| 懂色av一区二区| 国产成人高潮免费观看精品| 自拍视频在线免费观看| 日韩亚洲电影在线| 久久夜色精品亚洲| 国产目拍亚洲精品99久久精品| www.久久久精品| 欧美区国产区| 免费毛片一区二区三区久久久| jizz亚洲女人高潮大叫| 欧美区在线播放| 色av男人的天堂免费在线| 欧洲av在线精品| 草视频在线观看| 26uuu色噜噜精品一区| 91福利国产成人精品播放| 女人天堂亚洲aⅴ在线观看| 免费av一区二区三区| 免费一区二区三区四区| 韩国日本不卡在线| 韩日在线视频| 日韩欧美激情一区| 亚洲国产精品无码久久久| 亚洲色图19p| 亚洲视频在线播放免费| 老司机午夜精品| www.99热这里只有精品| 久久福利综合| 极品尤物一区二区三区| 国产伊人久久| 性色av一区二区三区免费| 在线观看精品一区二区三区| 精品国产免费久久| 中文字幕在线观看高清| 午夜激情久久久| 在线免费日韩av| 国产欧美日本一区视频| 日本一卡二卡在线| 国产精品白丝av| 人妻丰满熟妇av无码区app| 综合亚洲视频| 日韩国产美国| 乱亲女h秽乱长久久久| 亚洲一区二区三区成人在线视频精品| 中文日产幕无线码一区二区| 久久久久国产精品免费网站| 日本在线免费| 国产亚洲人成a一在线v站| 蜜桃视频在线观看www| 欧美巨大另类极品videosbest | 91麻豆swag| 久久影院模特热| 五月婷婷久久久| 日韩午夜av一区| 一级片视频免费| 91福利在线看| 黄色小网站91| 日韩脚交footjobhd| 欧美成人精品一区二区| 97电影在线看视频| 日韩高清av在线| 手机看片1024国产| 日韩欧美色综合| 国产精品一级二级| 欧美日韩精品系列| 日本一区二区三区久久| 一本色道**综合亚洲精品蜜桃冫| 国产第一页在线播放| 夜夜精品浪潮av一区二区三区| 天天做夜夜爱爱爱| 国产精品国产自产拍高清av| 天天操天天干天天操天天干| 国产午夜精品福利| 国产在线综合视频| 国产精品沙发午睡系列990531| 亚洲精品乱码久久久久久久久久久久| 91免费国产在线观看| 欧美无人区码suv| 2024国产精品视频| 好吊视频在线观看| 中文字幕免费在线观看视频一区| 国产综合精品久久久久成人av| 欧美激情一二三区| 日韩欧美在线视频播放| 国产精品国产三级国产普通话蜜臀 | 久久久久久天堂| 亚洲二区在线视频| 亚洲日本视频在线观看| 色婷婷久久99综合精品jk白丝| 久久久久在线视频| 欧美视频精品在线| 国产精品无码免费播放 | 九九九久久久久久久| 国产福利精品导航| 亚洲久久久久久| 久久精品亚洲乱码伦伦中文 | 亚洲免费观看视频| 久久久久亚洲av无码专区体验| 国产高潮流白浆喷水视频| 欧美日韩亚洲国产精品| 四虎精品欧美一区二区免费| 亚洲成人最新网站| 欧美这里只有精品| 亚洲专区一区| 手机看片福利日韩| 国产高清成人在线| 日韩片在线观看| 欧美极品xxx| 国产欧美精品在线播放| av影院在线免费观看| 热久久免费视频精品| 男人天堂久久| 国产伦精品一区二区三区四区视频 | 亚洲色图欧美色| 亚洲精品一二三区| 综合网在线观看| 7799精品视频| 日本在线一二三| 不卡av在线网站| 亚洲女同av| 亚洲va电影大全| 美女毛片一区二区三区四区| 亚洲综合首页| 国产日韩欧美一区| 57pao国产成永久免费视频| 成人免费视频app| 911国产在线| 婷婷综合久久一区二区三区| 在线观看免费视频a| 日韩午夜精品视频| 日本美女高潮视频| 日韩综合在线视频| 日本中文字幕有码| 国产精品素人视频| www.日本精品| 欧美一级片免费看| 国产美女性感在线观看懂色av| 欧美成人剧情片在线观看| 电影亚洲一区| 久久久久久久有限公司| 亚洲一区二区三区| 久久撸在线视频| 91麻豆6部合集magnet| 久久久全国免费视频| 欧美精品一二三四| yourporn在线观看中文站| 情事1991在线| 老司机在线精品视频| 真人做人试看60分钟免费| 麻豆成人在线观看| 色一情一交一乱一区二区三区 | 中文字幕超碰在线| 精品久久免费看| 黄网页在线观看| 国产精品一区二区三| 最近国产精品视频| 国产午夜伦鲁鲁| 成人黄色在线视频| 久久国产露脸精品国产| 欧美一区二区三区婷婷月色 | 欧美精品videosex极品1| gogo大尺度成人免费视频| 亚洲国产精品一区在线观看不卡 | 日韩精品久久| 激情五月亚洲色图| 久久免费电影网| 国产成人免费看| 精品在线观看国产| 天堂√中文最新版在线| 精选一区二区三区四区五区| 亚洲国产一区二区精品专区| 丰满少妇xbxb毛片日本| 亚洲最新视频在线播放| 欧美少妇bbw| 97av视频在线| 蜜桃一区二区三区| 国产视频一区二区视频| 亚洲国产成人在线| 亚洲天堂网在线视频| 日韩视频免费中文字幕| 99久热在线精品视频观看| 中文字幕第50页| 岛国一区二区在线观看| 奇米影视第四色777| 亚洲精品自产拍| 澳门av一区二区三区| 一区二区日本伦理| 国产一本一道久久香蕉| 麻豆影视在线播放| 亚洲精品国产精品乱码不99按摩 | 19禁羞羞电影院在线观看| 精品久久久久久一区二区里番| 亚洲欧美日本国产专区一区| 亚洲av熟女国产一区二区性色| 欧美日韩国产高清一区二区三区| a级在线观看| 激情小说综合区| 美女脱光内衣内裤视频久久网站 | 91精品国产入口| 影音先锋中文在线视频| 国产一区二区在线网站| 久久综合导航| 波多野结衣在线网址| 亚洲成人亚洲激情| 日本成人伦理电影| a级网站在线观看| www日韩大片| 国产又粗又猛又爽又黄的| 久久久亚洲精选| 国产一区二区三区网| 婷婷激情5月天| 五月激情综合婷婷| av免费在线一区二区三区| 国产精品毛片va一区二区三区| 媚黑女一区二区| 青娱乐国产盛宴| 亚洲欧美日韩天堂| 亚洲图色一区二区三区| 欧美黄色免费影院| 亚洲色图制服诱惑| 日韩一区二区三区中文字幕| 91网站免费看| 日韩精品亚洲一区二区三区免费| 中文字幕美女视频| 亚洲欧美日韩在线一区| 深夜福利一区二区三区| 色播五月综合网| 天天综合网 天天综合色|