卷(Volumes)

在Docker中,卷(volume)是一种保存容器运行时生成的数据的存储设备。当容器在活动状态时(包括运行和停止的容器),其内部数据是保持不变的。但是,当你重新创建容器时,容器内的所有数据将同时被删除,所以需要使用卷将数据映射到本地来保存。为了更好的管理容器,最好了解如何创建并使用它们。

有两种方式可以将数据映射到你的容器中:容器卷和目录覆盖。我们的所有镜像都是通过目录覆盖来保存数据的。

映射一个卷到你的容器中

首先,你必须了解容器中需要保留的目录。我们所有的镜像都会有使用文档,其中会告诉用户哪些目录可以被映射出来。最常被使用的就是 /config 目录。

在你创建你的容器前,可以现在宿主机上船舰一个目录用于保存容器的数据。我们推荐使用 /opt/appdata .在此目录下,你可以为每一个容器创建一个配置目录。

当创建容器时,用 -v 来告诉Docker,需要用宿主机上的哪个目录来覆盖容器里的目录:

docker create --name my_container \
    -v /opt/appdata/my_config:/config \
    linuxserver/<an_image>

上面这个例子,指的是用 -v 参数,来让宿主机上的 /opt/appdata/my_config 目录覆盖容器内的 /config 目录。

注意:映射目录的格式是 宿主机:容器内

你可以用这种方式把宿主机上的任何目录映射到容器内,但我们通常只映射 /config 目录,因为该目录保存着应用程序运行的相关配置。对于其他有多个数据目录的程序镜像,我们会在该镜像的文档中进行说明。

最后更新于