如何将主机目录挂载到容器 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
已经分配给文件系统。
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
已经分配给文件系统。