San*_*etR 3 npm docker reactjs dockerfile
我想为 reactjs 应用程序创建一个开发环境。我是 Docker 的新手,一直在尝试使用 Docker 创建环境。下面是我的 Dockerfile 代码。
# Base node image
FROM node
# create working directory
ADD ./code /usr/src/app
WORKDIR /usr/src/app
# add node_modules path to environment
ENV PATH /usr/src/app/node_modules/.bin:PATH
# copy and install dependencies
COPY ./code/package.json /usr/src/app/package.json
RUN npm install --quiet
RUN npm install react-scripts@1.1.1 -g --silent
# start app
# CMD ["npm","start"]
Run Code Online (Sandbox Code Playgroud)
但是,我在第 行收到错误“npm:未找到” RUN npm install --quiet。
我确认节点带有 npm:
$ docker run -it --rm node /bin/bash
root@b35e1a6d68f8:/# npm --version
5.6.0
Run Code Online (Sandbox Code Playgroud)
但是线
ENV PATH /usr/src/app/node_modules/.bin:PATH
Run Code Online (Sandbox Code Playgroud)
覆盖初始 PATH,因此您应该尝试将其替换为
ENV PATH /usr/src/app/node_modules/.bin:${PATH}
Run Code Online (Sandbox Code Playgroud)
另外,请注意,您的ADD ./code ...行很笨拙,因为它会添加应用程序的所有文件(包括./code/package.json!),而这一步来得太早(与 Docker 的缓存机制有关),因此我建议您删除该行ADD ./code /usr/src/app并添加一行COPY ./code ./ 之后的RUN npm install ...
最后,您可能还想查看“dockerizing”Node.js 应用程序的官方文档:https ://nodejs.org/en/docs/guides/nodejs-docker-webapp/
| 归档时间: |
|
| 查看次数: |
4173 次 |
| 最近记录: |