You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法创建挂载数据卷的MySQL Docker容器问题咨询

解决Docker挂载数据卷时出现的"pull access denied for de"错误

你的问题核心在于挂载路径的Shell语法不兼容,导致Docker错误地把路径的一部分识别成了镜像名(也就是错误提示里的de:latest)。既然不挂载数据卷时命令能正常运行,说明mysql-image镜像本身是没问题的,问题就出在-v参数的路径解析上。

下面分不同操作系统的Shell环境给你对应的解决方案:

1. Linux/macOS 下的 Bash/Zsh 环境

Bash支持$(pwd)语法,但如果当前工作目录路径包含空格或特殊字符,就会导致参数拆分混乱。解决方法是给整个挂载路径加上双引号:

docker run -d -v "$(pwd)/api/db/data:/var/lib/mysql" --rm --name mysql-container mysql-image

另外,建议先手动创建目标目录,避免后续出现权限问题:

mkdir -p "$(pwd)/api/db/data"

2. Windows 下的 CMD 命令行

CMD不识别$(pwd)语法,需要替换成%cd%(代表当前工作目录),同样建议用引号包裹路径避免解析错误:

docker run -d -v "%cd%/api/db/data:/var/lib/mysql" --rm --name mysql-container mysql-image

如果习惯用Windows的反斜杠路径,也可以这么写:

docker run -d -v "%cd%\api\db\data:/var/lib/mysql" --rm --name mysql-container mysql-image

提前创建目录的命令:

mkdir "%cd%\api\db\data"

3. Windows 下的 PowerShell 环境

PowerShell可以用${PWD}或者$PWD.Path来获取当前路径,记得用引号包裹路径:

docker run -d -v "${PWD}/api/db/data:/var/lib/mysql" --rm --name mysql-container mysql-image

提前创建目录的命令:

New-Item -ItemType Directory -Path "${PWD}/api/db/data" -Force

额外提示

  • 运行命令前,可以先打印挂载路径确认是否正确,比如在Bash里执行echo "$(pwd)/api/db/data",确保输出是你预期的完整路径。
  • 如果还是有问题,直接写绝对路径(比如/home/yourname/api/db/data:/var/lib/mysql或者C:\Users\yourname\api\db\data:/var/lib/mysql),避开Shell变量的解析问题。

内容的提问来源于stack exchange,提问作者Lucas Castro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 22:57:39