webstorm点击“run dockerfile”无反应,是因为默认仅执行docker build和run,不自动暴露端口、不挂载源码、不启动监听服务;必须手动配置port mappings(如80:80)、volume挂载(如./dist:/usr/share/nginx/html)及nginx.conf中root路径匹配容器内绝对路径。

WebStorm 里点“Run Dockerfile”为什么没反应?
因为 WebStorm 默认只执行 docker build + docker run,不自动暴露端口、不挂载代码、也不启动服务监听。浏览器打不开、页面 404、控制台没日志——不是配置错了,是根本没配。
- 必须手动添加端口映射,比如
80:80(Nginx)或3000:3000(Vite/webpack-dev-server) - 宿主机端口不能被占用,否则容器启动成功但连接拒绝
-
EXPOSE指令在Dockerfile里只是声明,不等于实际映射,运行时必须在 WebStorm 配置里显式填 Port mappings
如何让本地改代码实时生效?
靠 volume 挂载,不是靠 rebuild。WebStorm 不监听文件变化触发 rebuild,它只管启动容器;热更新依赖容器内服务是否支持 + 路径是否对齐。
- 静态服务(如 Nginx):挂载
./dist:/usr/share/nginx/html:ro,每次npm run build后需手动docker exec -it xxx nginx -s reload或用watchexec - 开发服务器(如 Vite):挂载
./src:/app/src和./public:/app/public,并确保启动命令含--host 0.0.0.0 --port 3000 - macOS/Windows 用户务必检查 Docker Desktop 的 File Sharing 白名单:项目路径不在列表里,挂载会静默失败,
ls /app看不到任何文件
Docker 插件没启用,后面全白搭
这是 80% 连接失败的起点。插件禁用后,Services 窗口没有 Docker 节点,右键 Dockerfile 也没有 Run 选项,所有配置入口都消失。
- 路径:
Ctrl+Alt+S → Plugins → Installed → 搜索 Docker → 勾选 → 重启 WebStorm - 重启前确认已安装 Docker Desktop(或 Colima/WSL2),且 daemon 正在运行
- 重启后打开
View → Tool Windows → Services,看到 Docker 图标才算通过第一关
nginx.conf 的 root 路径和 volume 挂载必须一致
常见 404 根源:你挂载了 ./dist 到 /usr/share/nginx/html,但 nginx.conf 里写的是 root /app/dist,或者漏了 index index.html。
- 检查容器内路径:
docker exec -it your-container ls /usr/share/nginx/html,确认 HTML 文件真实存在 -
nginx.conf中 server 块必须包含root /usr/share/nginx/html;和index index.html; - 不要写相对路径或本地路径,
root必须是容器内绝对路径,且与 volume 目标路径完全匹配











