如何使用docker映像,而不装载默认卷?

如何使用docker映像,而不装载默认卷?,docker,Docker,我想使用Docker MySQL docker运行mysql 但是我不想在主机上保存数据。我希望所有信息都在容器内得到保护。默认情况下,此图像创建了一个未命名的卷,并将其附加到容器 是否可以使用相同的容器(我不想从地面创建新的MySQL映像),但禁用卷 换句话说:Docker hub中的许多Docker映像默认使用卷。保存容器内所有数据的最简单方法是什么(push和commit将包含数据)?有一个命令可以停止容器,更改其装载设置,然后重新启动 我知道这不是最佳实践,我的问题是这是否可能 如中所示

我想使用Docker MySQL

docker运行mysql

但是我不想在主机上保存数据。我希望所有信息都在容器内得到保护。默认情况下,此图像创建了一个未命名的卷,并将其附加到容器

是否可以使用相同的容器(我不想从地面创建新的MySQL映像),但禁用卷

换句话说:Docker hub中的许多Docker映像默认使用卷。保存容器内所有数据的最简单方法是什么(push和commit将包含数据)?有一个命令可以停止容器,更改其装载设置,然后重新启动

我知道这不是最佳实践,我的问题是这是否可能

如中所示,您可以非常轻松地创建、命名和关联容器卷

请参阅“”:您可以使用其他驱动程序,如,并从多主机便携卷中获益。

编辑:下面线程的注释中提到了可以编辑docker映像元数据的驱动程序,允许您删除卷

这目前是一个悬而未决的问题等待有带宽的人来编写代码。您可以在此处跟踪进度,此链接直接指向适用的注释:


我也希望这个功能!在具有NTFS的windows主机上装载/var/lib/mysql/会给卷root:root权限,无法更改;我不想将mysql用户添加到根组。我想取消/var/lib/mysql目录的卷,并将其替换为一个具有mysql:mysql权限的符号链接,指向/host/ntfs/mnt,它是root:root。您可能很清楚,如果使用现有映像,它的工作方式是预期的。如果你想定制它,它可能会更好。OP删除卷的意图,这就是谷歌让我来到这里的原因,你的回答并没有真正实现——尽管我看到你试图帮助OP解决他的问题。请考虑我的回答,它只说明这个特性在积压中。
version: '2'
services:
  db:
    image: mysql
    volumes:
      - dbdata:/var/lib/mysql
volumes:
  dbdata:
    driver: local