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目录,它与我的主机目录不一样。
答案 0 :(得分:1)
如this issue中所述:
覆盖Dockerfile的卷VOLUME不会装入容器
Dockerfile
VOLUME
directive会使容器在/var/lib/docker/vfs/dir
这会使挂载指令(docker run
的-v /my-host-data:/var/lib/mysql
)被忽略,因为/var/lib/mysql
已经分配给文件系统。
答案 1 :(得分:0)
背景: 最新的windows10,最新的docker软件。 执行以下命令:
docker run -d --name [容器名称] -v [主机路径]:[容器路径] [容器]
在我自己的电脑中的真实例子:
docker run -d --name 2ubuntu16 -v C:\ dockerVolume:/ yi ubuntu:16.10