docker 挂载目录挂载不上**
最近做项目做一个shared Dynamodb, 使用docker挂载一个image,发现怎么都挂载不上,
使用
$ pwd E:\Work\Aws\git\schema\dynamodb\local $ 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 root@08f63c3ff31a:/var/dynamodb_local# ls DynamoDBLocal.jar LICENSE.txt third_party_licenses DynamoDBLocal_lib README.txt root@08f63c3ff31a:/var/dynamodb_local# cd / root@08f63c3ff31a:/# 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 root@08f63c3ff31a:/# cd dynamodb_local_db root@08f63c3ff31a:/dynamodb_local_db# ls
(注: 发现没有挂载成功,因为该目录里边没有文件)
做过如下尝试:
停掉container, 重新挂载,不行
停掉container,rm contaniner, 重新挂载,不行
关掉docker 终端,重新挂载,不行
删掉image重新挂载,还是不行
后来发现我需要挂载的本机目录是E:\Work\Aws\git\schema\dynamodb\local,但是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