node.js - GitHub Action :将生成的目录复制到Docker镜像时出错

标签 node.js docker github node-modules github-actions

我正在使用GitHub Actions构建我们的NestJS应用程序。
这些是GitHub Actions工作流程中的一些步骤:

  - name: Build Nest application
    run: npm run build
  - run: ls -al
  - name: Build the Docker image
    run: docker build . --file github.Dockerfile
github.Dockerfile看起来像这样:
FROM node:14-alpine as app
WORKDIR /usr/home/app
COPY package.json ./
COPY src ./
COPY node_modules ./
构建失败,并显示以下错误消息:
Step 5/5 : COPY node_modules ./
COPY failed: stat /var/lib/docker/tmp/docker-builder535687818/node_modules: no such file or directory
当使用RUN ls -al列出目录内容时,结果如下:
drwxr-xr-x   9 runner docker   4096 Sep 29 12:53 .
drwxr-xr-x   3 runner docker   4096 Sep 29 12:52 ..
-rw-r--r--   1 runner docker   1541 Sep 29 12:52 .dockerignore
-rw-r--r--   1 runner docker    663 Sep 29 12:52 .eslintrc.js
-rw-r--r--   1 runner docker   1300 Sep 29 12:52 .gcloudignore
drwxr-xr-x   8 runner docker   4096 Sep 29 12:52 .git
drwxr-xr-x   3 runner docker   4096 Sep 29 12:52 .github
-rw-r--r--   1 runner docker    388 Sep 29 12:52 .gitignore
-rw-r--r--   1 runner docker     51 Sep 29 12:52 .prettierrc
-rw-r--r--   1 runner docker   3370 Sep 29 12:52 README.md
-rw-r--r--   1 runner docker    162 Sep 29 12:52 cloudbuild.yaml
drwxr-xr-x   2 runner docker   4096 Sep 29 12:53 dist
-rw-r--r--   1 runner docker    102 Sep 29 12:52 github.Dockerfile
drwxr-xr-x   2 runner docker   4096 Sep 29 12:52 k8s
-rw-r--r--   1 runner docker     64 Sep 29 12:52 nest-cli.json
drwxr-xr-x 134 runner docker   4096 Sep 29 12:53 node_modules
-rw-r--r--   1 runner docker 521420 Sep 29 12:52 package-lock.json
-rw-r--r--   1 runner docker   1923 Sep 29 12:52 package.json
-rw-r--r--   1 runner docker    471 Sep 29 12:52 skaffold.Dockerfile
-rw-r--r--   1 runner docker    446 Sep 29 12:52 skaffold.yaml
drwxr-xr-x   2 runner docker   4096 Sep 29 12:52 src
drwxr-xr-x   2 runner docker   4096 Sep 29 12:52 test
-rw-r--r--   1 runner docker     97 Sep 29 12:52 tsconfig.build.json
-rw-r--r--   1 runner docker    339 Sep 29 12:52 tsconfig.json
package.jsonsrc是Git存储库的一部分。 node_modules在GitHub Action的过程中生成。
为什么node_modulespackage.json都可以将src复制到Docker容器?

最佳答案

原来node_modules已包含在.dockerignore文件中。 ♂️

关于node.js - GitHub Action :将生成的目录复制到Docker镜像时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64120181/

相关文章:

docker - 使用 linux 内核 4.3.0 运行 docker 出现 iptables nat 错误

javascript - Node.js:使用异步库并行运行两个任务,并在前两个任务完成后运行最后一个任务

node.js - Nodejs 中的链式 promise 仅执行第一个 promise ,但不执行链式 promise

php - 带有两个服务的简单 docker-compose : nginx and php

centos - 如何在 docker 容器中伪造 cpu 架构?

git - 下载github项目的特定分支

python - 如何从 Python 中调用 'git pull'?

git - 无法在 GitHub 上将我的第二封邮件提交为 "verified"

javascript - puppeteer 师API : only get domain redirects

javascript - 使用 Passport JS 的自定义策略 Oauth 身份验证