使用Docker卷
Docker卷是可挂载到Docker容器的文件系统。它们有助于保存数据,并且独立于容器的生命周期。Docker卷的主要优点之一是它允许开发者备份数据,并允许在Docker容器之间轻松共享文件系统。我们在启动Docker容器时可以轻松挂载卷。也可以将同一个卷挂载到不同的容器,这允许在它们之间轻松共享数据,这可以通过使用简单的命令和标志轻松实现。
在本文中,我们将讨论如何使用命令创建、列出、检查、挂载和删除Docker卷。
创建Docker卷
您可以使用create命令创建Docker卷。执行该命令后,Docker会在本地机器上为卷创建一个特定目录。此目录位于/var/lib/docker/volume路径中。
创建Docker卷的命令是:
sudo docker volume create <volume_name>
例如,如果您想创建一个名为myVolume的卷,您可以使用以下命令:
sudo docker volume create myVolume.
列出所有Docker卷
既然您已经创建了一个Docker卷,如果您想列出所有现有的Docker卷,您可以使用以下命令:
sudo docker volume list
运行上述命令后,将显示一个列表,其中包含所有现有卷的驱动程序名称和卷名称。
检查Docker卷
要检查特定的Docker卷,您可以使用Docker inspect命令。它将列出有关Docker卷的所有详细信息,包括创建日期、挂载点、驱动程序名称、卷名称等。
检查Docker卷的命令是:
sudo docker volume inspect <volume_name>
挂载Docker卷
运行Docker run命令时,您可以使用--mount标志轻松地将Docker卷挂载到Docker容器。您还可以将同一个卷挂载到多个Docker容器,所有容器都将共享对该卷的访问权限。此命令如下所示:
sudo docker run −−mount source=<name of volume>,destination=<path of a directory in container> <image_name>
例如,如果您想将名为myVolume的卷挂载到ubuntu容器的/usr/src/app/位置,您可以使用以下命令:
sudo docker run −it −−mount source=myVolume,destination=/usr/src/app/ ubuntu
这将打开一个挂载了指定位置卷的ubuntu bash。您可以通过进入容器内的指定位置来验证这一点。
删除Docker卷
要删除Docker卷,您需要确保该卷此时未被使用。如果容器正在运行并挂载了该卷,则必须先停止容器才能删除挂载的卷。停止容器后,您可以使用以下命令删除卷:
sudo docker rm <name of volume>
要一次删除所有卷,您需要确保没有卷正在使用,然后使用以下命令:
sudo docker volume prune
与多个Docker容器共享Docker卷
假设您想与多个Docker容器共享一些文件。在这种情况下,您可以将文件放入Docker卷中,将该卷挂载到多个Docker容器中,并获得对该卷的共享访问权限。让我们讨论如何做到这一点。
首先使用volume create命令创建一个卷,并将该卷挂载到特定的Docker容器。
例如:
sudo docker volume create myVolume
sudo docker run −it −−name=container1 −−mount source=myVolume,destination=/app ubuntu
以上两个命令将创建一个名为myVolume的Docker卷,并将此卷挂载到名为container1的ubuntu镜像容器的/app位置。这还将打开该特定容器的bash。
在bash中,您可以看到在那里创建了一个名为/app的目录。使用ls命令来执行此操作。转到该目录并创建一个文件,然后退出bash。您可以使用以下命令:
ls cd app touch tutorialspoint.txt exit
之后,创建一个新的容器并将同一个卷挂载到该容器中。您可以使用以下命令:
sudo docker run −it −−name=container2 −−mount source=myVolume,destination=/app ubuntu
这将创建一个名为container2的第二个容器,并将名为myVolume的卷挂载到ubuntu镜像的/app位置。您可以使用ls命令来验证这一点。进入/app目录后,您将看到在container1中创建的同一个tutorialspoint.txt文件。如果您在文件中进行任何更改,它也会反映在另一个容器中。
总而言之,在本文中,我们看到了创建、检查、列出、删除Docker卷的所有基本命令。我们还看到了如何通过将同一个卷挂载到不同的Docker容器来在多个Docker容器之间共享文件。