docker内部的Astro js网站无法从chrome访问



我正试图在docker中开发astro.js。

这是我的docker-compose.yml文件:

version: "3.9"
services: 
site:
image: node:lts-bullseye-slim
ports:
- 3000:3000
volumes:
- /project:/project
command: >
sh -c
"
cd /project
&& npm run install
&& npm run dev &
tail -f /dev/null
"

我可以看到astro正在码头里面跑。我可以从docker容器中curl localhost:3000,它显示了astro项目的默认页面。

然而,当我尝试在笔记本电脑上访问localhost:3000时,它会给msERR_EMPTY_RESPONSE错误。

我该怎么办?

更新
/project只是使用npx create-astro命令创建的一个非常简单的典型astro应用程序。

我尝试使用你的docker-compose.yml文件,然后我发现了一些问题,如下所示。

  1. 我第一次使用";码头工人组成";命令和";docker记录my-astro-site_site_1";。日志显示";未找到npm运行安装";。所以我改变了";docker compose.yml";从"&npm运行安装";至"&npm安装";容器日志
  2. 在那之后,当我跑";码头工人组成";并记录容器。上面写着";您在当前使用的平台之外的其他平台上安装了esbuild"因为我使用M1并在启动docker compose之前在容器外安装依赖项。所以我删除node_modules和package-lock.json;码头工人组成";容器日志
  3. 最后,我发现了与您发现的相同的问题";ERR_EMPTY_REPONSE";。这是因为当你开始使用dev时,你不会公开端口;docker compose.yml";从"&npm运行dev"至"&npm运行dev--host 0.0.0.0"并运行";码头工人组成";。这是工作!。我的docker撰写文件如下所示:

version: "3.9"
services: 
site:
image: node:lts-bullseye-slim
ports:
- 3000:3000
volumes:
- /Users/komphet/dev/my-astro-site:/project
command: >
sh -c
"
cd /project
&& npm install
&& npm run dev -- --host 0.0.0.0 &
tail -f /dev/null
"

我希望它对您的软件开发有帮助。享受

相关内容

  • 没有找到相关文章

最新更新