2017-06-17 104 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