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终端中运行
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解决了这个问题。。。我不能再帮你了,对不起。