最近做项目做一个shared Dynamodb, 使用docker挂载一个image,发现怎么都挂载不上,
使用
$ pwdE:\Work\Aws\git\schema\dynamodb\local$ lsinit.sh README.md shared-local-instance.db$ cat README.mddocker run -v "$PWD":/dynamodb_local_db -p 8000:8000 cnadiminti/dynamodb-local:latest $ docker run -v "$PWD":/dynamodb_local_db -p 8000:8000 cnadiminti/dynamodb-local:latest
结果发现挂载不上:
$ docker psCONTAINER ID IMAGE COMMANDCREATED STATUS PORTS NAMES08f63c3ff31a cnadiminti/dynamodb-local:latest "/docker-entrypoint." 7 minutes ago Up 7 minutes 0.0.0.0:8000->8000/tcp affectionate_pare$ docker exec -it cd2bb8d20608 /bin/bash$ docker exec -it 08f63c3ff31a /bin/bashroot@08f63c3ff31a:/var/dynamodb_local# lsDynamoDBLocal.jar LICENSE.txt third_party_licensesDynamoDBLocal_lib README.txtroot@08f63c3ff31a:/var/dynamodb_local# cd /root@08f63c3ff31a:/# lsbin docker-entrypoint.sh etc lib64 opt run sys varboot docker-java-home home media proc sbin tmpdev dynamodb_local_db lib mnt root srv usrroot@08f63c3ff31a:/# cd dynamodb_local_dbroot@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:latest