docker 挂载目录挂载不上**

Posted yanzibuaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker 挂载目录挂载不上**相关的知识,希望对你有一定的参考价值。

最近做项目做一个shared Dynamodb, 使用docker挂载一个image,发现怎么都挂载不上,

使用

$ pwd
E:WorkAwsgitschemadynamodblocal

$ ls
init.sh  README.md  shared-local-instance.db


$ cat README.md
docker run -v "$PWD":/dynamodb_local_db -p 8000:8000 cnadiminti/dynamodb-local:l
atest
$
docker run -v "$PWD":/dynamodb_local_db -p 8000:8000 cnadiminti/dynamodb-local:latest

 结果发现挂载不上:


$ docker ps
CONTAINER ID        IMAGE                              COMMAND
CREATED             STATUS              PORTS                    NAMES
08f63c3ff31a        cnadiminti/dynamodb-local:latest   "/docker-entrypoint."   7
 minutes ago       Up 7 minutes        0.0.0.0:8000->8000/tcp   affectionate_par
e


$ docker exec -it cd2bb8d20608 /bin/bash


$ docker exec -it 08f63c3ff31a  /bin/bash
[email protected]:/var/dynamodb_local# ls
DynamoDBLocal.jar  LICENSE.txt  third_party_licenses
DynamoDBLocal_lib  README.txt
[email protected]:/var/dynamodb_local# cd /
[email protected]:/# ls
bin   docker-entrypoint.sh  etc   lib64  opt   run   sys  var
boot  docker-java-home      home  media  proc  sbin  tmp
dev   dynamodb_local_db     lib   mnt    root  srv   usr

[email protected]:/# cd  dynamodb_local_db
[email protected]:/dynamodb_local_db# ls  
(注: 发现没有挂载成功,因为该目录里边没有文件)

做过如下尝试:

停掉container, 重新挂载,不行

停掉container,rm contaniner, 重新挂载,不行

关掉docker 终端,重新挂载,不行

删掉image重新挂载,还是不行

 

后来发现我需要挂载的本机目录是E:WorkAwsgitschemadynamodblocal,但是docker运行的VM里边setting中Shared Folder中只有c/Users

解决办法:把需要挂载的文件放到c:/users 目录下可以了

 

*TODO: docker 原理, image ,machine的关系,docker 命令

 

 

 

docker run -v "$PWD":/dynamodb_local_db -p 8000:8000 cnadiminti/dynamodb-local:l
atest



以上是关于docker 挂载目录挂载不上**的主要内容,如果未能解决你的问题,请参考以下文章

docker挂载文件后变成目录

docker-修改容器挂载目录的3种方法小结

如何将docker容器的根目录挂载为NFS挂载点

docker 系列: 具名匿名挂载介绍

Docker挂载本地目录

docker如何修改挂载路径(挂载目录)?(没弄完,先去弄别的)