将卷分配给容器
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
创建命名卷后,可以使用该名称与其他容器共享卷。