找不到“同时”运行Docker映像

时间:2020-03-25 15:57:09

标签: docker npm

我正在尝试创建和运行Angular应用程序的Docker映像。它在本地工作得很好,但是在使用docker run命令时遇到了问题。

我的Dockerfile是:

FROM node:current
#FROM node:current-slim
#FROM node:12.13.1-alpine

WORKDIR /usr/src/app
COPY package.json .
COPY proxy.conf.json .
RUN npm install

EXPOSE 4200
CMD [ "npm", "run", "dev" ]

在我的package.json中,脚本为:

"dev": "concurrently \"npm start\" \"ng serve --proxy-config proxy.conf.json\""

和我正在运行的两个Docker命令是:

docker build --tag fuel-consumption-front:0.0.0 .
docker run --publish 8000:4200 --detach --name fuel fuel-consumption-front:0.0.0

Docker日志在说(或者这是我的桌面Docker应用程序上的输出):

> fuel-consumption-front@0.0.0 dev /usr/src/app
> concurrently "npm start" "ng serve --proxy-config proxy.conf.json"
sh: 1: concurrently: not found
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! fuel-consumption-front@0.0.0 dev: `concurrently "npm start" "ng serve --proxy-config proxy.conf.json"`
npm ERR! spawn ENOENT

npm ERR!
npm ERR! Failed at the fuel-consumption-front@0.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-03-25T15_30_19_063Z-debug.log

第一行让我认为这与无法运行同时发生

我尝试了不同的节点映像(在Dockerfile中注释),还尝试了Dockerfile中的npm insall -g。 package.json文件中也没有并发条目。所有不同的方法都引发相同的错误

我对Docker非常陌生,并以Docker页中的示例为模板。在执行此操作时,他们的示例工作得很好。

1 个答案:

答案 0 :(得分:0)

离开它一段时间后,我有了更多的玩法。原来,当我添加npm install concurrently时,我没有保存我的Dockerfile。现在,Dockerfile读取(还有一些其他调整):

FROM node:current-slim

WORKDIR /usr/src/app
COPY package.json .
COPY proxy.conf.json .
RUN npm install
RUN npm install concurrently
COPY . .

EXPOSE 4200
CMD [ "npm", "run", "dev" ]

现在进入下一个问题。...需要缩小图像,并说它可以在日志中很好地编译,但是无法在localhost:8000上连接(又是另一天的问题!)