解决 Docker Are you trying to mount a directory onto a file 宿主挂载目录

5 min read
  • 不支持直接挂载文件,只能挂载文件夹
  • 想要挂载文件,必须在宿主机上也要有容器内对应的同名文件

这个错误提示表明你尝试将一个目录挂载到容器内的一个文件上,这是不允许的。

如果你要将一个宿主机上的目录挂载到容器内部的一个目录上,你需要在 Docker 命令中指定正确的挂载方式。例如,如果你要将宿主机上的 /path/to/host/dir 目录挂载到容器内的 /path/to/container/dir 目录上,你可以使用以下命令:

docker run -v /path/to/host/dir:/path/to/container/dir myimage

其中,myimage 是你要启动的 Docker 镜像的名称。

如果你要将一个宿主机上的文件挂载到容器内部的一个文件上,你需要指定正确的文件路径。

例如,如果你要将宿主机上的 /path/to/host/file.txt 文件挂载到容器内的 /path/to/container/file.txt 文件上,你可以使用以下命令:

docker run -v /path/to/host/file.txt:/path/to/container/file.txt myimage

在这两种情况下,如果你指定的路径不存在或者路径上的文件类型不匹配,都会导致类似的错误提示。因此,你需要确认指定的路径和文件类型都正确无误。