我正试图使用Docker来装载一个MySQL(实际上是Mariadb)数据库。我了解了如何将MySQL数据(/var/lib/mysql)存储在从主机目录装入的卷中。
但是,由于底层文件系统不同于主机,因此存在一些不一致性,例如,在NTFS(Windows)上表名不区分大小写。而且,如果数据库是在Linux主机上创建的,那么它在Windows主机上就不工作(还没有确切地找出原因)。
因此,我希望将数据存储在磁盘映像上,并将其装入容器中,即
db-data.img
格式化为ext4。但我面临着一个奇怪的问题,当把这张图片装进容器时:
$ docker run -v $PWD:/outside --rm -it ubuntu /bin/bash
# dd if=/dev/zero of=/test.img bs=1M count=100
# mkfs.ext4 test.img
# mount -o loop -t ext4 test.img /mnt
mount: /mnt: mount failed: Operation not permitted.
使用另一个目录而不是
/mnt
也没用。
为什么它拒绝挂载img文件?