将卷分配给容器

Docker 卷是一个超出容器生命周期的文件或目录。可以将主机文件或目录作为卷安装到容器中(绕过 UnionFS)。

使用 -v 命令行选项添加卷:

docker run -d -v "/data" awesome/app bootstrap.sh

这将创建一个卷并将其安装到容器内的路径/data

  • 注意:你可以使用标志 --rm 在移除容器时自动删除卷。

挂载主机目录

要将主机文件或目录装入容器:

docker run -d -v "/home/foo/data:/data" awesome/app bootstrap.sh
  • 指定主机目录时,必须提供绝对路径。

这会将主机目录/home/foo/data 挂载到容器内的/data 上。这个绑定挂载的主机目录卷与 Linux mount --bind 相同,因此在容器生存期间暂时将主机目录挂载到指定的容器路径上。来自主机或容器的卷的更改会立即反映在另一个中,因为它们是磁盘上的相同目标。

UNIX 示例安装相对文件夹

docker run -d -v $(pwd)/data:/data awesome/app bootstrap.sh

命名卷

可以通过提供字符串而不是主机目录路径来命名卷,docker 将使用该名称创建卷。

docker run -d -v "my-volume:/data" awesome/app bootstrap.sh

创建命名卷后,可以使用该名称与其他容器共享卷。