存取docker container內的檔案

Docker既然是container概念存在,就想到應該可以透過原filesystem找到對應的container內的檔案
Google了一下,在/var/lib/docker/這個目錄底下可以找到對應的container實際存在的位置...
列印一下目錄可以發現aufs/mnt下有一堆長檔名的資料夾...



透過docker ps或是進入到docker container後,可以看得到docker的instance id
範例中是:61ba7253b842



因此進入到"/var/lib/docker/aufs/mnt/"後,後面加讓instance id後,在透過tab補字可以列出該container相關資訊
其中會包含一個有"-init"跟一個純instance id的資料夾...



列表一下這兩個資料夾



其中無"-init"的目錄存放的就是container對應的磁碟位置

測試一下檔案的存取....,切到該目錄下,touch一個檔案...



結果真的可以在container內部看到對應touch出來的檔案



透過可見的目錄位置,container與host在某個層鍍上可以互通許多東西喲... 檔案傳輸也不用再透過scp或ftp方式存取,超方便的拉!