将 docker 卷安装到 docker 容器

Posted

技术标签:

【中文标题】将 docker 卷安装到 docker 容器【英文标题】:mounting a docker volume to a docker container 【发布时间】:2018-08-28 08:28:51 【问题描述】:

这可行

在不指定磁盘大小的情况下创建 docker 卷:

  docker volume create disk1

将卷(disk1)挂载到容器

  docker run -itd -v disk1:/data ubuntu

这不起作用

现在通过指定大小为 100mb 来创建 docker 卷

  docker volume create --name disk2 --opt o=size=100m

将卷(大小为 100 MB 的磁盘 2)安装到容器

  docker run -itd -v disk2:/data ubuntu

当我运行这些命令时,我收到以下错误

docker:来自守护进程的错误响应:挂载卷“/var/lib/docker/volumes/disk2/_data”时出错:卷选项中缺少设备。

【问题讨论】:

你使用的是什么操作系统? NAME="Ubuntu" VERSION="18.04 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu Bionic Beaver (开发分支)" VERSION_ID="18.04" HOME_URL="@987654321 @" SUPPORT_URL="help.ubuntu.com" BUG_REPORT_URL="bugs.launchpad.net/ubuntu" PRIVACY_POLICY_URL="ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic 我使用的是 ubuntu 18.04 【参考方案1】:

出现此错误是因为缺少一组驱动程序选项

"--opt type=" 和 "--opt device=" 在您提供 docker 卷 "--opt o=size="

的大小时是必需的

因此,使用所有必需选项创建卷并与容器链接。

试试

 docker volume create --name disk2 --opt type=tmpfs --opt device=tmpfs --opt o=size=100m

然后

 docker run -itd -v disk2:/data ubuntu

有效。

【讨论】:

以上是关于将 docker 卷安装到 docker 容器的主要内容,如果未能解决你的问题,请参考以下文章

Docker容器中的数据管理--RHEL7.3

在没有 noexec 选项的情况下将卷挂载到 docker 容器中

docker技术剖析--数据卷 for centos7.2

Docker-基础使用:安装,启用,基本命令,数据卷

docker-数据管理

Docker中的数据卷