我只是构建应用程序:docker build。-t ang:l
尝试运行后:docker run -d -p 83:80 ang:l
并得到错误:
泊坞窗:来自守护程序的错误响应:OCI运行时创建失败:container_linux.go:345:启动容器进程导致“ exec:\” npm \”:在$ PATH中找不到可执行文件”:未知。
没有此CMD [“ npm”,“ start”]命令的所有工作,但我需要服务器和bd。
Dockerfile:
# Stage 0, based on Node.js
FROM node:latest as node
WORKDIR /app
COPY package*.json ./
COPY . .
#RUN npm install
ARG configuration=production
RUN true && \
npm run build:client-and-server-bundles -- --configuration=$configuration \
&& \
npm prune --production && \
true
# Stage 1, based on Nginx
FROM nginx:alpine
COPY --from=node /app/dist /usr/src/app/
CMD ["npm", "start"]
package.json命令:“开始”:“节点dist / server”,
我也尝试使用docker-compose.yml:
version: '3.4'
services:
app:
container_name: ang
image: ang:l
build:
context: .
dockerfile: Dockerfile
command: npm start
ports:
- '3000:3000'
links:
- mysql
mysql:
container_name: mysql
image: mysql
ports:
- '3306:3306'
这两种变体都不起作用,请帮忙,如何在Docker中构建它
该nginx
搬运工图像不包含npm
。您需要使用node:latest
其中包含的npm
。
# Stage 1, based on Nginx
FROM node:latest
COPY --from=node /app/dist /usr/src/app/
CMD ["npm", "start"]
您可能潜在地用于node:alpine
运行该应用程序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句