2017-06-17 52 views
1

我拉到一個標準的碼頭工人Ubuntu的鏡像並運行它像這樣:搬運工Ubuntu的容器文件系統

docker run -i -t ubuntu bash -l 

當我做容器內的LS我看到一個適當的文件系統,我可以創建文件等,這是怎麼回事不同於VM?此外,我可以在這個容器文件系統上創建多大的文件的限制是什麼?還有一種方法,我可以在容器文件系統內創建一個文件,該文件在容器停止或被殺後保留在主機文件系統中?

+0

看看這個問題https://stackoverflow.com/questions/16047306/how-is-docker與Docker如何工作的普通虛擬機不同。要與主機共享文件,您可以使用具有'-v host_path:container_path'的卷 – Julian

回答

0

這與VM有什麼不同?

虛擬機會鎖定和分配整個堆棧的資源(磁盤,CPU,內存),即使它沒有任何操作。

容器將資源從主機(磁盤,CPU,內存)中分離出來,但實際上不會使用它們,除非它執行某些操作。你可以啓動很多容器,如果他們什麼都不做,他們不會使用內存,CPU或磁盤。
關於磁盤,這些容器(從相同映像啓動)共享相同的文件系統,並通過機制和UnionFS將在您寫入容器時添加一個圖層。
當容器退出並被移除時,該層將會丟失。

要堅持寫在一個容器中的數據,請參見「Manage data in a container

欲瞭解更多,請閱讀Jessie Frazelle的見地的文章「Setting the Record Straight: containers vs. Zones vs. Jails vs. VMs