最近做項目做一個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