gpt4 book ai didi

javascript - Docker,脚本似乎可以正确构建并运行,但无法在本地主机上连接

转载 作者:行者123 更新时间:2023-12-02 21:36:59 24 4
gpt4 key购买 nike

我是 Docker 的新手,我正在尝试让一个简单的 React 应用程序在 Docker 中工作。

这是我的文件组织

/project-files
Dockerfile
../client

内部客户端是一个基本的 React 应用程序,这是我的 Dockerfile

FROM node:13.8.0-stretch
WORKDIR /client
COPY /client/package.json ./client/package.json
RUN npm install
COPY /client /client
EXPOSE 8080
CMD ["npm", "start"]

我从以下位置运行以下命令:

docker build -t test .\project-files\

而且它似乎构建正确。然后我运行

docker run -p 8080:8080 test

它似乎编译正确。我收到了您在 React 应用程序中看到的所有消息和警告

> client@0.1.0 start /client
> react-scripts start

ℹ 「wds」: Project is running at http://172.17.0.2/
ℹ 「wds」: webpack output is served from
ℹ 「wds」: Content not from webpack is served from /client/public
ℹ 「wds」: 404s will fallback to /
Starting the development server...

Compiled with warnings.

./src/scenes/Home.js
Line 5:29: 'Card' is defined but never used no-unused-vars

Search for the keywords to learn more about each warning.
To ignore, add // eslint-disable-next-line to the line before.

但是当我去http://localhost:8080/时我收到“此页面无法正常工作,本地主机未发送任何数据。”

最佳答案

我刚刚复制了您的 Dockerfile 内容并设法让它运行(使用 create-react-app):

FROM node:13.8.0-stretch
WORKDIR /client
COPY ./client/package.json /client/package.json
RUN npm install
COPY ./client /client
EXPOSE 3000
CMD ["npm", "start"]

我做了以下更改:

  1. 我更改了一些路径 - 我不完全确定您的文件结构,但它对我来说似乎不正确。我更改了您的两行 COPY 行。

  2. 我将公开端口从 8080 更改为 3000

  3. 当与 Dockerfile 位于同一目录时,我运行了以下构建命令 docker build -t test .

  4. 我在运行命令中使用了3000docker run -p 3000:3000 test

当我访问http://localhost:3000/时它显示了我的应用程序。

总而言之 - 我认为这是您的复制路径和暴露的端口

<小时/>

我的文件结构:

.
├── _Dockerfile
├── _client
| ├── package.json
| ├── package-lock.json
| ├── public
| └── src

关于javascript - Docker,脚本似乎可以正确构建并运行,但无法在本地主机上连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60469757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com