angular - DockerInDocker 构建 Angular 应用程序失败 - 没有这样的文件或目录
问题描述
在我的 GitLab CI 中,我有这个管道
image: docker:stable
variables:
GIT_STRATEGY: clone
DOCKER_HOST: tcp://localhost:2375
DOCKER_TLS_CERTDIR: ""
DOCKER_DRIVER: overlay2
CONTAINER_RELEASE_IMAGE: ${NEXUS_REGISTRY_URL}/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}:${CI_COMMIT_TAG}
services:
- docker:stable-dind
stages:
- build
build:
stage: build
script:
- echo $NEXUS_REGISTRY_TOKEN | docker login -u $NEXUS_REGISTRY_USER --password-stdin $NEXUS_REGISTRY_URL
- docker build --pull -t $CONTAINER_RELEASE_IMAGE .
- docker push $CONTAINER_RELEASE_IMAGE
only:
- tags
还有这个 Docker 文件
FROM node:10-alpine as builder
COPY package.json package-lock.json ./
COPY .npmrc /root/.npmrc
RUN npm ci && mkdir /ng-app && mv ./node_modules ./ng-app
WORKDIR /ng-app
COPY . .
RUN npm run ng build -- --prod --configuration=quality --output-path=dist --output-hashing none --single-bundle true
FROM authkeys/nginx-spa
COPY --from=builder /ng-app/dist /app
CMD ["nginx", "-g", "daemon off;"]
COPY --from=builder /ng-app/dist /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]
如果我运行“docker build”。从我的外壳它可以完美运行,但是当它在管道上运行时会出现此错误
步骤 9/12:复制 --from=builder /ng-app/dist /app 复制失败:stat /var/lib/docker/overlay2/e6629da30554beb40ca7608f07772312e12893b7fa8c79a01435a7de2cbd03ae/merged/ng-app/dist:没有这样的文件或目录
有人知道为什么吗?
解决方案
问题是负责构建的 pod:它没有足够的资源。问题是一样的,在这里输入链接描述 解决方案:分配更多的cpu和ram。
推荐阅读
- couchdb - 为什么时间戳不用于冲突解决?
- django - Django CMS,在include中有一段HTML,如何在一个页面上两次包含这段HTML,这样你就可以改变不同的内容了?
- jquery - 如何使用 jquery ajax 将按钮值发布到标签字段
- vb.net - 资产文件 obj\project.assets.json 没有目标“.NETFramework,Version=v4.8/win7-x86” (NETSDK1047)
- python - 使用 on_member_join 时,如何从机器人获取消息以发送到我想要的特定频道?
- c++ - 为什么我不能将带有互斥锁的仿函数传递给线程?
- javascript - 在不知道其结构的情况下在网页中显示 Javascript 对象
- javascript - 在我刷新页面之前,第一个函数无法识别新的 TR
- python - 你能偷偷运行一个python文件吗?
- django - Django Rest Framework - 自定义默认列表视图以显示 ManyToMany 字段的唯一值