卷(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
目录,因为该目录保存着应用程序运行的相关配置。对于其他有多个数据目录的程序镜像,我们会在该镜像的文档中进行说明。