Docker卷未挂载求助:Compose配置后容器内无指定挂载目录
问题原因及解决办法
核心问题
你写了compose.yaml的挂载配置,但实际用docker build + docker run启动容器的方式,完全不会读取compose配置文件,所以挂载规则根本没生效,容器内自然没有/app/.well-known目录,docker inspect也看不到Mounts项。
解决方法
方法一:用Docker Compose启动(推荐)
- 先清理当前运行的容器:
docker stop my-cont1 && docker rm my-cont1 - 在
compose.yaml同级目录下执行启动命令:
这样compose里的volume配置会自动生效,容器内docker compose up -d/app/.well-known目录会被正确挂载。
方法二:手动用docker run添加挂载参数
如果不想用compose,必须在docker run命令里手动指定挂载规则,对应你compose里的命名卷webroot,命令改成:
docker run -d -p 81:8080 -p 443:443 --name my-cont1 -v webroot:/app/.well-known:rw cont1
注意:Docker挂载命名卷时,如果容器内目标路径不存在,会自动创建该目录。
验证
启动容器后,执行以下命令确认:
- 查看容器内目录:
docker exec my-cont1 ls /app,能看到.well-known目录 - 查看挂载信息:
docker inspect my-cont1,在输出的Mounts字段里能看到对应的卷挂载记录
内容的提问来源于stack exchange,提问作者buga
相关产品推荐
相关产品推荐

