如何将主机目录挂载到容器 VOLUME?

how to mount host directory to container VOLUME?

mysql Dockerfile 定义了 VOLUME:

VOLUME /var/lib/mysql

我想挂载我的主机mysql数据到容器目录/var/lib/mysql

$ docker run -d -v /my-host-data:/var/lib/mysql mysql

但是当我执行到容器时,我检查了 /var/lib/mysql 目录,它与我的主机目录不一样。

this issue所述:

Volume that overrides a Dockerfile VOLUME doesn't mount into container

A Dockerfile VOLUME directive 将使容器在 /var/lib/docker/vfs/dir

中创建(当 运行 时)卷

这将使安装指令(docker run-v /my-host-data:/var/lib/mysql)被忽略,因为 /var/lib/mysql 已经分配给文件系统。