当前位置: 首页 > 知识库问答 >
问题:

AWS代码生成-在生成过程中找不到DockerFile

扈瑞
2023-03-14

开始使用AWS代码构建。

目标是让docker图像作为最终结果,并在其中运行nodejs、hapi和示例应用程序。

目前我有一个问题:“无法准备上下文:无法在Dockerfile路径中计算符号链接: lstat /tmp/src049302811/src/Dockerfile:没有这样的文件或目录”出现在BUILD阶段。

项目详情:

  1. S3存储桶用作源
  2. 存储在各自S3存储桶中的ZIP文件包含buildspec。yml,包裹。json,示例*。js文件和DockerFile
  3. aws/codebuild/docker:1.12。1用作生成环境

当我建立一个图像使用Docker安装在我的笔记本电脑上没有问题,所以我不明白我需要指定哪个目录来摆脱这个错误信息。

Buildspec和DockerFile附在下面。

谢谢你的评论。

buildspec.yml

version: 0.1

phases:
  pre_build:
    commands:
      - echo Logging in to Amazon ECR...
      - $(aws ecr get-login --region eu-west-1)
  build:
    commands:
      - echo Build started on `date`
      - echo Building the Docker image...          
      - docker build -t <CONTAINER_NAME> .
      - docker tag <CONTAINER_NAME>:latest <ID>.dkr.ecr.eu-west-1.amazonaws.com/<CONTAINER_NAME>:latest
  post_build:
    commands:
      - echo Build completed on `date`
      - echo Pushing the Docker image...
      - docker push <id>.eu-west-1.amazonaws.com/<image>:latest

DockerFile

FROM alpine:latest

RUN apk update && apk upgrade
RUN apk add nodejs
RUN rm -rf /var/cache/apk/*

COPY . /src
RUN cd /src; npm install hapi
EXPOSE 80
CMD ["node", "/src/server.js"]

共有2个答案

尉迟栋
2023-03-14

你能验证Dockerfile是否存在于目录的根目录中吗?这样做的一种方法是在构建规范中(甚至在ecr登录之前)运行ls-altr作为预构建阶段的一部分。

洪黎昕
2023-03-14

好的,所以解决方法很简单。问题与Dockerfile名称有关。它不接受DockerFile(大写为F,奇怪的是它在本地工作),但DockerFile(小写为F)工作得很好。

 类似资料:
  • 我正试图用我的MERN stack web应用程序自动化构建过程。 目前,我使用CodePipeline,它: 从GitHub获取我的代码作为源代码 使用CodeBuild(Ubuntu 2.0)运行构建 并将其部署到我的Elastic BeanStalk环境中 步骤1 在尝试使用CodeBuild之后,即使客户端似乎完全按照日志进行构建,前端似乎也不会更新。 以下是我CodeBuild项目的一些

  • 我正在尝试将一个网站从Heroku迁移到AWS,但在代码构建方面遇到了麻烦。源代码在GitHub上,我使用的是CodePipeline-CodeBuild-Elastic Beanstalk。管道运行良好,代码似乎正在向Elastic Beanstalk过渡。然而,我被困在代码构建步骤。(buildspec.yml如下所示) 日志似乎可以很好地运行命令,但是当我将构建输出到S3存储桶时,没有构建文

  • 我得到以下错误: 未能找到代码生成的模型提供程序。 AWS放大抛出此错误的代码: 我将学习以下教程: https://docs.amplify.aws/start/getting-started/generate-model/q/integration/android https://docs.amplify.aws/cli/graphql-transformer/overview 我已经尝试生成

  • 我更改了数据库中的一些表,所以我想生成记录、键、类等。但是每次我这样做时,它总是跳过jooq代码生成。 [INFO]--jooq-codegen-maven:3.11.10:generate(默认cli)@http网关--[INFO]跳过jooq代码生成 为了运行Jooq代码生成,我应该执行哪个mvn cmd?现在我使用: 谢谢

  • 我正在根据参考指南学习使用Map结构。日食验证是 面向Web开发人员的Eclipse Java EE IDE。版本:开普勒服务版本2 pom。xml如下所示,与参考指南相同 它表示在构建项目时将生成实现代码。但是,它似乎不会在目标/生成的源文件夹下生成

  • 大多数Blockly应用程序需要将块转换为代码以执行。本页描述如何将代码生成器添加到自定义块。 首先,转到generators/目录并选择与您要生成的语言(JavaScript,Python,PHP,Lua,Dart等)相对应的子目录。假设您的代码块不适合现有类别,请创建一个新的JavaScript文件。这个新的JavaScript文件需要包含在<script ...>编辑器的HTML文件中的标记