亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

詳解掛載運行的docker容器中如何掛載文件系統

2024-09-01 13:49:43
字體:
來源:轉載
供稿:網友

前言

感覺最近很多人都在問docker相關的問題,關于怎么操作一個已經啟動的docker容器的文件系統,首先我發現這非常困難,因為 mnt的命名空間。

為了登錄進入一個已經啟動的docker容器,我們需要這么做:

  1. 使用nsenter來在臨時掛載點上掛載整個docker容器的文件系統。
  2. 創建一個特定目錄的綁定掛載來當作卷來使用。
  3. 卸載臨時掛載。
  4.  

好吧,開始實踐。

啟動一個名為charlie的docker實例:

$ docker run --name charlie -ti ubuntu bash

我想要將目錄 /home/jpetazzo/Work/DOCKER/docker to /src 掛載到我的docker容器中。

nsenter

首先,需要nsenter,通過docker-enter幫助腳本來操作。因為想要掛載文件系統到docker容器中,處于安全原因,我們的docker容器是不允許這么做的。使用nsenter,我們就可以在docker容器中執行任意的命令,而不會受到任何安全限制的干擾,直接獲取docker容器的root權限,如何獲取docker容器的方法 就是這樣

安裝nsenter,通過docker-enter安裝nsenter:

$ docker run --rm -v /usr/local/bin:/target jpetazzo/nsenter

使用我們的docker文件系統

想要掛載宿主主機中的目錄 (/home/jpetazzo/Work/DOCKER/docker) 在docker中。

要找到docker文件系統的目錄。

首先使用readlink查看docker 目錄的掛載位置。

$ readlink --canonicalize /home/jpetazzo/Work/DOCKER/docker/home/jpetazzo/go/src/github.com/docker/docker

設置環境變量:

$ HOSTPATH=/home/jpetazzo/Work/DOCKER/docker$ REALPATH=$(readlink --canonicalize $HOSTPATH)

查看docker文件系統的掛載情況df:

$ df $REALPATHFilesystem 1K-blocks Used Available Use% Mounted on/sda2  245115308 156692700 86157700 65% /home/jpetazzo

指定指定docker 文件系統的環境變量

$ FILESYS=$(df -P $REALPATH | tail -n 1 | awk '{print $6}')

查看docker容器中的設備情況

因為現在沒有綁定掛載或者使用 BTRFS,所以我們要查看/proc/mounts 來找到這個目錄的設備文件 /home/jpetazzo 。

$ while read DEV MOUNT JUNK> do [ $MOUNT = $FILESYS ] && break> done </proc/mounts$ echo $DEV/dev/sda2

通過設備信息找到掛載情況。

$ while read A B C SUBROOT MOUNT JUNK> do [ $MOUNT = $FILESYS ] && break> done < /proc/self/mountinfo $ echo $SUBROOT/jpetazzo

很好,我們現在知道需要掛載 /dev/sda2,到這個目錄 /jpetazzo, 從這個位置 指向我們需要的任何目錄。

設定目錄

$ SUBPATH=$(echo $REALPATH | sed s,^$FILESYS,,)

查看設備號。

$ stat --format "%t %T" $DEV8 2

設置設備信息

$ DEVDEC=$(printf "%d %d" $(stat --format "0x%t 0x%T" $DEV))

將這些步驟集合

我們就是要驗證docker容器中的路徑和主機是不是一置

$ docker-enter charlie -- sh -c /> "[ -b $DEV ] || mknod --mode 0600 $DEV b $DEVDEC"

創建臨時掛載點掛載文件系統

$ docker-enter charlie -- mkdir /tmpmnt$ docker-enter charlie -- mount $DEV /tmpmnt

確定文件系統存在掛載卷

$ docker-enter charlie -- mkdir -p /src$ docker-enter charlie -- mount -o bind /tmpmnt/$SUBROOT/$SUBPATH /src

清理臨時掛載

$ docker-enter charlie -- umount /tmpmnt$ docker-enter charlie -- rmdir /tmpmnt

下面是一個簡單實例腳本: 

#!/bin/shset -eCONTAINER=charlieHOSTPATH=/home/jpetazzo/Work/DOCKER/dockerCONTPATH=/srcREALPATH=$(readlink --canonicalize $HOSTPATH)FILESYS=$(df -P $REALPATH | tail -n 1 | awk '{print $6}')while read DEV MOUNT JUNKdo [ $MOUNT = $FILESYS ] && breakdone </proc/mounts[ $MOUNT = $FILESYS ] # Sanity check!while read A B C SUBROOT MOUNT JUNKdo [ $MOUNT = $FILESYS ] && breakdone < /proc/self/mountinfo [ $MOUNT = $FILESYS ] # Moar sanity check!SUBPATH=$(echo $REALPATH | sed s,^$FILESYS,,)DEVDEC=$(printf "%d %d" $(stat --format "0x%t 0x%T" $DEV))docker-enter $CONTAINER -- sh -c /  "[ -b $DEV ] || mknod --mode 0600 $DEV b $DEVDEC"docker-enter $CONTAINER -- mkdir /tmpmntdocker-enter $CONTAINER -- mount $DEV /tmpmntdocker-enter $CONTAINER -- mkdir -p $CONTPATHdocker-enter $CONTAINER -- mount -o bind /tmpmnt/$SUBROOT/$SUBPATH $CONTPATHdocker-enter $CONTAINER -- umount /tmpmntdocker-enter $CONTAINER -- rmdir /tmpmnt

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一福利网站| 国产一区二区在线免费| 欧美孕妇孕交黑巨大网站| 亚洲性av在线| 精品无人区乱码1区2区3区在线| 欧美日韩免费区域视频在线观看| 亚洲第一精品福利| 欧美中在线观看| 91青草视频久久| 欧美性猛交xxxx乱大交极品| 欧美超级乱淫片喷水| 亚洲男人天堂2024| 精品国产31久久久久久| 蜜臀久久99精品久久久无需会员| 国产91在线高潮白浆在线观看| 国产精品嫩草影院久久久| 欧美一乱一性一交一视频| 亚洲精品美女网站| 乱亲女秽乱长久久久| 97婷婷大伊香蕉精品视频| 国产福利成人在线| 国产日产久久高清欧美一区| 中文日韩在线视频| 一个人www欧美| 国产午夜精品一区理论片飘花| 精品女同一区二区三区在线播放| 国产精品人成电影| 亚洲а∨天堂久久精品喷水| 久久精品中文字幕| 国产精品综合久久久| 色综合色综合久久综合频道88| 亚洲人线精品午夜| 日韩在线视频线视频免费网站| 亚洲网址你懂得| 伦理中文字幕亚洲| 欧美日韩国产精品一区| 亚洲一二三在线| 久久香蕉国产线看观看av| 欧美最近摘花xxxx摘花| 国产精品av免费在线观看| 亚洲欧美三级在线| 久久久久久噜噜噜久久久精品| 国产不卡一区二区在线播放| 亚洲国产成人久久综合一区| 亚洲免费av片| 欧美日韩激情视频8区| 欧美网站在线观看| 午夜精品久久久久久久99黑人| 亚洲精品98久久久久久中文字幕| 亚洲**2019国产| 另类图片亚洲另类| 69久久夜色精品国产69| 日韩欧美aⅴ综合网站发布| 午夜精品福利视频| x99av成人免费| 欧美有码在线观看视频| 国产精品一区二区久久久久| 国产91在线视频| 日韩在线免费av| 中文字幕日韩电影| 国产欧美日韩精品专区| 亚洲三级黄色在线观看| 91在线看www| 久久久久久九九九| 亚洲2020天天堂在线观看| 麻豆乱码国产一区二区三区| 国产精品精品视频一区二区三区| 欧美午夜宅男影院在线观看| 国产成人久久久精品一区| 国产精品高潮呻吟视频| 日韩av理论片| 亚洲字幕一区二区| 国产精品99久久久久久白浆小说| 国产不卡一区二区在线播放| 成人国产精品久久久久久亚洲| 国产日韩中文字幕| 欧美一级淫片aaaaaaa视频| 欧美成人剧情片在线观看| 日韩中文av在线| 国内免费精品永久在线视频| 国产精品久久久久久av下载红粉| 国产精品69精品一区二区三区| 97av在线视频免费播放| 欧美老少做受xxxx高潮| 欧美一级免费视频| 欧美亚洲午夜视频在线观看| 久久精品中文字幕电影| 欧美精品在线观看91| 伊人久久免费视频| 日韩的一区二区| 91精品综合久久久久久五月天| 亚洲精品日韩丝袜精品| 91成人国产在线观看| 亚洲欧美另类人妖| 影音先锋欧美精品| 中文字幕国产精品| 热re99久久精品国产66热| 亚洲人成电影在线播放| 中文字幕欧美日韩在线| 久久久久久亚洲精品| 国产精品白丝av嫩草影院| 国产日韩精品在线播放| 国产精品美女av| 欧美性xxxxx极品娇小| 精品国产欧美成人夜夜嗨| www国产精品com| 91系列在线播放| 中文日韩电影网站| 丝袜美腿精品国产二区| 久久全球大尺度高清视频| 精品调教chinesegay| 日韩精品免费综合视频在线播放| 精品小视频在线| 黄色成人在线免费| 亚洲天堂av网| 亚洲激情国产精品| 中文字幕不卡在线视频极品| 成人午夜黄色影院| 国产成人午夜视频网址| 国产精品福利在线观看| 欧美天堂在线观看| 久久久久女教师免费一区| 91av视频在线| 国模视频一区二区| 日本精品免费观看| 久久久久久久亚洲精品| 亚洲欧美三级在线| 欧美视频中文字幕在线| 国产综合在线观看视频| 91精品综合久久久久久五月天| 国产精品久久激情| 日韩美女免费线视频| 欧美激情一二三| 久久九九亚洲综合| 午夜精品一区二区三区在线播放| 国产精品激情av在线播放| 亚洲www在线观看| 久久精品中文字幕电影| 欧美又大粗又爽又黄大片视频| 日韩精品极品视频免费观看| 国产成人精品最新| 国产欧美日韩精品专区| 国产网站欧美日韩免费精品在线观看| www亚洲精品| 超碰91人人草人人干| 成人国产精品一区二区| 久久久亚洲成人| 亚洲视频专区在线| 欧美精品www在线观看| 国产欧美日韩免费看aⅴ视频| 久久免费精品日本久久中文字幕| 久久久精品一区二区| 成人激情在线播放| 国产免费观看久久黄| 国产精品免费久久久久久| 91综合免费在线| xxxxx91麻豆| 国产在线拍揄自揄视频不卡99| 欧美日韩福利电影| 免费av在线一区| 亚洲激情自拍图| 亚洲人成网站999久久久综合| 精品国产美女在线| 在线观看欧美日韩|