Duk*_*Ace 5 continuous-integration azure node.js npm docker
我正在尝试从 GitHub 将 node.js 容器化应用程序部署到 Azure 应用程序服务,并收到以下错误:npm ERR!enoent ENOENT:没有这样的文件或目录,打开“/home/site/wwwroot/package.json”。这是我的 GitHub 项目的链接:https ://github.com/dukeace2005/proxy.git
当我从本地存储库手动创建 docker 映像,然后从 Azure 容器注册表手动部署时,一切正常。
Dockerfile:
FROM node:10.13-alpine
ENV NODE_ENV production
WORKDIR /usr/src/app
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]
RUN npm install --production --silent && mv node_modules ../
COPY . .
EXPOSE 8080
CMD npm start
2019-08-26T05:46:09.861966773Z PATH="$PATH:/home/site/wwwroot" npm start
2019-08-26T05:46:09.866880267Z Checking if node_modules was compressed...
2019-08-26T05:46:09.867015467Z Done.
2019-08-26T05:46:11.001090444Z npm ERR! path /home/site/wwwroot/package.json
2019-08-26T05:46:11.001728443Z npm ERR! code ENOENT
2019-08-26T05:46:11.002710642Z npm ERR! errno -2
2019-08-26T05:46:11.003222742Z npm ERR! syscall open
2019-08-26T05:46:11.019177623Z npm ERR! enoent ENOENT: no such file or directory, open '/home/site/wwwroot/package.json'
2019-08-26T05:46:11.019901022Z npm ERR! enoent This is related to npm not being able to find a file.
2019-08-26T05:46:11.020380922Z npm ERR! enoent
Run Code Online (Sandbox Code Playgroud)
正如我在 docker-compose 文件中看到的,您使用build如下选项:
version: '2.1'
services:
proxy:
image: proxy
build: .
environment:
NODE_ENV: production
ports:
- 3000:3000
Run Code Online (Sandbox Code Playgroud)
但在 Azure Web App 中,目前不支持该build选项,因此当您使用 docker-compose 文件从 Github 部署它时,会显示错误。有关更多详细信息,请参阅Docker Compose 选项。您最好已经从映像中部署它。
| 归档时间: |
|
| 查看次数: |
2062 次 |
| 最近记录: |