Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Docker Nodejs映像配置_Javascript_Node.js_Docker - Fatal编程技术网

Javascript Docker Nodejs映像配置

Javascript Docker Nodejs映像配置,javascript,node.js,docker,Javascript,Node.js,Docker,我是Docker的新手,我有一个React.js应用程序,带有build forder(npm run build),我想将我的应用程序Docker化,生成一个容器 我使用以下配置创建了Dockerfile: 来自节点:12 WORKDIR/app 复制package.json/app 运行npm安装 抄袭/应用程序 CMD[“npm”,“开始”] 我得到了这些图像: 我可以只对接20MB的构建路径或正常的图像大小吗?是的,您可以使用多级Dockerfile实现这一点,我将此用于VueJS和角

我是Docker的新手,我有一个React.js应用程序,带有build forder(
npm run build
),我想将我的应用程序Docker化,生成一个容器

我使用以下配置创建了Dockerfile:

来自节点:12
WORKDIR/app
复制package.json/app
运行npm安装
抄袭/应用程序
CMD[“npm”,“开始”]
我得到了这些图像:


我可以只对接20MB的构建路径或正常的图像大小吗?

是的,您可以使用多级Dockerfile实现这一点,我将此用于VueJS角度

奖励:您可以使用NGINX将您的请求代理到您的应用程序

可以找到NGINX config和.dockrignore文件


+1.次要评论:你不能移动
副本
command up并删除
COPY package.json./
command?@MattBrowne我在.dockrignore中添加了节点模块。复制package.json./command随锁文件一起加快安装速度(如果我们已经安装了的话)。感谢npm安装--生产,我将更新答案。很好。。。但是关于
install--production
,当我意识到这个示例是针对一个没有节点服务器的单页应用程序的时候,我编辑了我的评论,而您只是将
dist
文件夹复制到运行时映像中。在许多情况下,
npm运行构建
依赖于开发人员的依赖关系。如果您确实有一个节点服务器,我建议您在nginx(运行时)映像中执行
npm安装--production
,而不是构建映像。谢谢,我如何将docker映像运行到nginx?只需将配置文件夹从GitHub存储库复制到您的根文件夹,构建映像运行后,容器nginx将在端口80启动并运行。您得到答案了吗?
##### 01- Build app
FROM node:lts-alpine as node
LABEL author="Waqas Dilawar"
WORKDIR /app
COPY package.json ./
RUN npm install
COPY . .
RUN npm run build

##### 02- Run NGINX using build from step 01
FROM nginx:alpine
VOLUME /var/cache/nginx
COPY --from=node /app/dist /usr/share/nginx/html
COPY ./config/nginx.conf /etc/nginx/conf.d/default.conf