我希望主机上的/ 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 inspect:
"Mounts": [
{
"Type": "bind",
"Source": "/home/moodle",
"Destination": "/var/www/html",
"Mode": "",
"RW": true,
"Propagation": ""
},
但是/ home / moodle文件夹是空的,与容器中的/ var / www / html不同
答案 0 :(得分:0)
如果在先前退出的映像目录中挂载主机目录,则不会删除映像目录的内容,但主机目录的内容也将位于容器目录中。
请查看Docker文档以获取更多信息:https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-directory-as-a-data-volume
答案 1 :(得分:0)
docker run -d -P --name web -v /src/webapp:/webapp training/webapp python app.py
此命令将主机目录/ src / webapp安装到 容器at / webapp。如果路径/ webapp已经存在于 容器的图像,/ src / webapp挂载覆盖但不删除 预先存在的内容。删除安装后,内容就是 再次访问。这符合预期的行为 mount命令。
挂载空文件夹将覆盖容器在该文件夹中的所有内容。要从容器内共享数据,您可以将文件夹挂载到某个空目录,然后让应用程序将数据复制到该目录中,或者从容器中运行bash命令,执行与in another thread所述相同的操作:
docker exec -it mycontainer /bin/bash
或者您可以使用another stackoverflow thread中描述的泊坞窗副本:
docker cp <containerId>:/file/path/within/container /host/path/target