Reactjs 如何访问在docker容器中运行的create react应用程序?

Reactjs 如何访问在docker容器中运行的create react应用程序?,reactjs,docker,Reactjs,Docker,我按照下面的步骤走 我的设置: Windows 10主页 docker命令在docker Quickstart终端中运行 如何复制:按照第一个链接中的步骤进行操作: 全局安装create react应用程序: npm install -g create-react-app@3.4.1 生成新应用程序: $ npm init react-app sample --use-npm $ cd sample 在目录的根目录中创建Dockerfile: # pull official base i

我按照下面的步骤走

我的设置:

  • Windows 10主页
  • docker命令在docker Quickstart终端中运行
如何复制:按照第一个链接中的步骤进行操作:

全局安装create react应用程序:

npm install -g create-react-app@3.4.1
生成新应用程序:

$ npm init react-app sample --use-npm
$ cd sample
在目录的根目录中创建Dockerfile:

# pull official base image
FROM node:13.12.0-alpine

# set working directory
WORKDIR /app

# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH

# install app dependencies
COPY package.json ./
COPY package-lock.json ./
RUN npm install --silent
RUN npm install react-scripts@3.4.1 -g --silent

# add app
COPY . ./

# start app
CMD ["npm", "start"]
Add.dockerignore:

node_modules
build
.dockerignore
Dockerfile
Dockerfile.prod
构建并标记dockerimage:

$ docker build -t sample:dev .
旋转容器:

$ docker run \
    -it \
    --rm \
    -v ${PWD}:/app \
    -v /app/node_modules \
    -p 3001:3000 \
    -e CHOKIDAR_USEPOLLING=true \
    sample:dev
这是我在Docker Quickstart终端中看到的:

这是我的项目结构:

然而,当我转到文章中描述的localhost:3001时,我看到


知道我遗漏了什么吗?

运行容器时,指定如下端口:
3000:80
(使用:80)

$docker run-it--rm-p3000:80示例:prod

然后,您可以导航到CRA应用程序。

运行容器时,指定如下端口:
3000:80
(使用:80)

$docker run-it--rm-p3000:80示例:prod

然后,您可以导航到CRA应用程序。

结果保持不变,感谢您的回答。结果保持不变,感谢您的回答。如果您使用Docker Toolbox,您需要将浏览器指向
Docker机器ip
地址(通常为192.168.99.100)
localhost
无法工作。@DavidMaze谢谢,我不知道这可能会导致问题。然而,当我指向那个地址时(确实是你提到的那个),仍然有上面的结果。我可以指定应用程序吗?我通过升级到Windows 10 Pro并使用Docker Desktop解决了这个问题。。。很抱歉,无法进一步帮助您。如果您使用Docker Toolbox,您需要将浏览器指向
Docker机器ip
地址(通常为192.168.99.100)
localhost
无法工作。@DavidMaze谢谢,我不知道这可能会导致问题。然而,当我指向那个地址时(确实是你提到的那个),仍然有上面的结果。我可以指定应用程序吗?我通过升级到Windows 10 Pro并使用Docker Desktop解决了这个问题。。。我不能再帮你了,对不起。