szx*_*szx 26 docker docker-for-windows
Docker为什么要尝试创建要装载的文件夹?如果我CD到C:\ Users \ szx \ Projects
docker run --rm -it -v "${PWD}:/src" ubuntu /bin/bash
Run Code Online (Sandbox Code Playgroud)
该命令退出并出现以下错误:
C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: error while creating mount source path '/c/Users/szx/Projects': mkdir /c/Users/szx/Projects: file exists.
Run Code Online (Sandbox Code Playgroud)
我正在Windows 10 Home上使用Docker Toolbox。
Mik*_*ike 33
对于运行 mac/osx 并遇到此问题的任何人,我重新启动了 docker 桌面以解决此问题。
pic*_*rob 20
我的问题是安装了保险丝的卷(例如sshfs
,等)再次安装到容器中。我没有帮助保险丝底座与容器内的用户拥有相同的所有权。
我认为潜在的问题是docker
/root
监督过程在设置容器时也需要掌握保险丝安装。
最终它有助于安装带有allow_other
选项的保险丝卷。请注意,这会为任何用户打开访问权限。更好的可能是allow_root
- 未测试,因为其他原因被阻止。
小智 7
我在 Linux 中工作(更准确地说,是 Windows 下的 WSL2),我的问题是我的主机上存在该文件夹的符号链接:
# docker run --rm -it -v /etc/localtime:/etc/localtime ...
docker: Error response from daemon: mkdir /etc/localtime: file exists.
# ls -al /etc/localtime
lrwxrwxrwx 1 root root 25 May 23 2019 /etc/localtime -> ../usr/share/zoneinfo/UTC
Run Code Online (Sandbox Code Playgroud)
它对我来说是绑定安装源的/usr/share/zoneinfo/UTC
。
确保文件夹与 docker 嵌入式 VM 共享。这与用于桌面安装的各种类型的 docker 不同。有了toolbox,相信你可以在VirtualBox的配置中找到共享文件夹。您还应该注意这些目录区分大小写。调试的一种方法是尝试:
docker run --rm -it -v "/:/host" ubuntu /bin/bash
Run Code Online (Sandbox Code Playgroud)
并查看“/host”下的文件系统是什么样的。
您以前使用过这个容器吗?您可以尝试在重新执行命令之前删除所有 docker-volumes。
docker volume rm `(docker volume ls -qf dangling=true)`
Run Code Online (Sandbox Code Playgroud)
我在本地(MacOS)尝试了你的命令,没有任何错误。
我在 WSL 中遇到了这个问题,可能是由于某些容器存活时间过长造成的。这里的建议都不适合我。最后,根据这篇博客文章,我设法使用以下命令修复它,这些命令完全擦除所有卷以重新开始。
docker-compose down
docker rm -f $(docker ps -a -q)
docker volume rm $(docker volume ls -q)
docker-compose up
Run Code Online (Sandbox Code Playgroud)
然后,我重新启动 WSL ( wsl --shutdown
),重新启动docker desktop
,并再次尝试我的命令。
归档时间: |
|
查看次数: |
12675 次 |
最近记录: |