为什么docker工人有docker工人和卷容器

为什么docker工人有docker工具和卷容器? 它们之间的主要区别是什么? 我已经通过docker文件阅读,但不能真正理解它。

Docker卷

您可以使用Docker卷在容器中创build一个新卷,并将其装载到主机的文件夹中。 例如,你可以把你的Linux主机的文件夹/var/log挂载到你的容器上,如下所示:

 docker run -d -v /var/log:/opt/my/app/log:rw some/image 

这将在您的容器内创build一个名为/opt/my/app/log的文件夹。 而这个文件夹将会被/var/log到你的Linux主机上。 您可以使用它来保存数据或在容器之间共享数据。

Docker卷容器

现在,如果你将一个主机目录挂载到你的容器中,你会以某种方式破坏Docker提供的很好的隔离。 你将用容器中的数据“污染”你的主机。 为了防止这种情况,你可以创build一个专门的容器来存储你的数据。 Docker将这个容器称为“数据容器容器”。

这个容器将有一个容器,你要在容器之间共享,例如:

 docker run -d -v /some/data/to/share --name MyDataContainer some/image 

这个容器将运行一些应用程序(如数据库),并有一个名为/some/data/to/share的文件夹。 您现在可以与另一个容器共享此文件夹:

 docker run -d --volumes-from MyDataContainer some/image 

该容器也将看到与前一个命令相同的音量。 您可以共享多个容器之间的卷,因为您可以共享主机的装载文件夹。 但它不会污染你的主机的数据 – 一切仍然封装在孤立的容器。

我的资源

https://docs.docker.com/userguide/dockervolumes/