最近做项目做一个 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
来源: http://www.bubuko.com/infodetail-2644060.html