我想使用Docker MySQL。
docker run mysql
但我不想在主机上保存数据。我希望在容器内保护所有信息。默认情况下,此映像会创建一个未命名的卷,并将其附加到容器中。
是否可以使用相同的容器(我不想从地面创建新的MySQL图像),但禁用该卷?
换句话说:默认情况下,docker hub中的许多Docker镜像都在使用卷。保存容器内所有数据的最简单方法是什么(因此push和commit将包含数据)?有一个命令可以停止容器,更改它的安装设置,然后重新开始?
我知道这不是最佳做法,我的问题是,如果可能的话。
答案 0 :(得分:1)
编辑:下面的线程的注释中提到了is a tool,可以编辑docker图像元数据,从而允许您删除卷。
这是目前尚待解决的问题,正在等待有足够带宽进行编码的人。您可以在此处跟踪进度,此链接可直接转到相应的注释:
我也想要这个功能!在使用NTFS的Windows主机上挂载/ var / lib / mysql /会赋予卷root:root权限,这些权限不能被授予;我不想将mysql用户添加到根组。我想取消体积/ var / lib / mysql目录,并用具有mysql:mysql权限的符号链接替换它,指向/ host / ntfs / mnt,它是root:root ♀️
答案 1 :(得分:0)
如this question所示,您可以轻松地创建,命名和关联容器卷,使其足够default unnamed one of mysql
version: '2'
services:
db:
image: mysql
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
driver: local
请参阅“Mount a shared-storage volume as a data volume”:您可以使用其他驱动程序,例如flocker,并从多主机便携式卷中受益。