使用Docker运行mermaid-cli提示文件不存在,如何解决?
解决Docker挂载mermaid-cli时文件不存在的问题
问题原因
Docker在macOS环境下使用-v挂载本地目录时,必须使用绝对路径。你之前的命令-v diagrams:/data是创建了一个Docker命名卷diagrams并挂载到容器的/data目录,而非映射你本地的diagrams文件夹,因此容器内找不到你创建的diagram.mmd文件。
解决步骤
获取本地
diagrams文件夹的绝对路径- 打开终端,切换到
diagrams文件夹的上级目录,执行pwd命令,会输出当前目录的绝对路径,比如/Users/xxx/workspace。 - 拼接后得到
diagrams的绝对路径:/Users/xxx/workspace/diagrams。
- 打开终端,切换到
修改Docker运行命令
将挂载路径替换为绝对路径,示例命令如下:docker run -it -v /Users/xxx/workspace/diagrams:/data minlag/mermaid-cli -i /data/diagram.mmd也可以用
$(pwd)动态获取当前目录(需确保终端当前在diagrams的上级目录),简化命令:docker run -it -v $(pwd)/diagrams:/data minlag/mermaid-cli -i /data/diagram.mmd如果你已经进入本地的
diagrams文件夹,直接用当前目录挂载即可:docker run -it -v $(pwd):/data minlag/mermaid-cli -i /data/diagram.mmd验证文件存在性
执行命令前,先确认本地diagrams文件夹内确实有diagram.mmd文件,终端执行:ls diagrams确保输出中包含
diagram.mmd。
内容的提问来源于stack exchange,提问作者KcFnMi
相关产品推荐
相关产品推荐

