Docker run不响应--name与挂载选项问题求助
问题:Docker Run参数未生效,Volumes显示为null
我遇到的问题看似和Stack Overflow上的《Docker run mounting volumes but docker inspect has volumes as null》重复,但实际场景并不匹配。
我执行的命令是:
docker run -d my-image --name my-name -v /host/path:/container/path
容器无报错启动,但执行docker inspect后显示:
"Volumes": null ... "Name": "/blissful_napier",
明显命令行传入的--name和-v选项都没生效,那个问题的答案涉及匿名卷,和我的情况无关。
解决方法
问题核心是Docker命令的参数顺序错误:
Docker官方的docker run命令格式为:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
所有--name、-v这类属于Docker的配置选项,必须放在**镜像名称(my-image)**之前。如果把选项放在镜像名后面,Docker会将这些参数当成镜像启动时要执行的命令或参数,而非容器的配置项,自然不会生效。
修正后的正确命令:
docker run -d --name my-name -v /host/path:/container/path my-image
执行这个命令后,容器会以指定的my-name命名,卷挂载配置也会正常生效,此时再执行docker inspect就能看到Volumes字段的正确挂载信息了。
内容的提问来源于stack exchange,提问作者Lawrence I. Siden
相关产品推荐
相关产品推荐

