不能让docker运行-v工作

我希望主机上的/ home / moodle文件夹与容器中的/ var / www / html文件夹相同。

我试着运行这个命令:

sudo docker run -d -P --name moodle --link DB:DB -p 8080:80 -v /home/moodle:/var/www/html jhardison/moodle 

它将这添加到docker检查:

  "Mounts": [ { "Type": "bind", "Source": "/home/moodle", "Destination": "/var/www/html", "Mode": "", "RW": true, "Propagation": "" }, 

但是/ home / moodle文件夹是空的,与容器中的/ var / www / html不一样

这里是Docker文档的摘录

docker run -d -P --name web -v /src/webapp:/webapp training/webapp python app.py

该命令将主机目录/ src / webapp安装到/ webapp的容器中。 如果path/ web应用程序已经存在于容器的映像中,那么/ src / webapp挂载会覆盖,但不会删除预先存在的内容。 一旦挂载被删除,内容可以再次访问。 这与mount命令的预期行为一致。

安装一个空文件夹将覆盖你的容器在该文件夹中的任何内容。 为了在容器中共享数据,你可以将你的文件夹挂载到一个空的目录下,让应用程序将数据拷贝到这个目录中,或者从你的容器中运行bash命令来执行另一个线程中描述的操作:

 docker exec -it mycontainer /bin/bash 

或者你可以使用另一个stackoverflow线程中描述的docker copy:

 docker cp <containerId>:/file/path/within/container /host/path/target 

如果在以前退出的映像目录中挂载主机目录,则不会删除映像目录的内容,但主机目录的内容也将位于您的容器目录中。

看看Docker文档来获取更多信息: https : //docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-directory-as-a-data-volume