Dockerfile无法与dynamic生成的文件进行交互

我有一个dockerfile应该安装并运行两个应用程序。 一个安装在/ app / app1中,并使用pm2执行。 这工作绝对好。

第二个应用程序是第一个应用程序的依赖项。 它使用'npm install'进行安装,所以它进入/ app / app1 / node_modules / app2。

我想在第二个应用程序上执行pm2,该应用程序需要我在启动之前更改工作目录。 当我做到以下几点:

cd node_modules/app2 && pm2-docker start app.js 

我得到以下错误:

 ERROR: Cannot start service foo: oci runtime error: container_linux.go:265: starting container process caused "exec: \"cd node_modules/app2 && pm2-docker start app.js\": stat cd node_modules/app2 && pm2-docker start app.js: no such file or directory" 

如果我注释掉那一行docker镜像启动成功,我能够手动执行命令成功。 我无法与dockerfile中的非源代码目录和文件交互?

这里是dockerfile供参考:

 FROM mhart/alpine-node:8 WORKDIR /app/hub COPY package.json package-lock.json ./ RUN apk add --no-cache git && \ npm install && \ apk del git RUN npm install pm2 -g RUN npm install COPY . . EXPOSE 3000 ENV NODE_ENV docker CMD [ "pm2-docker", "start", "server/index.js" ] CMD ["cd node_modules/app2 && pm2-docker start app.js"]