typescript - cdk ვერ უკავშირდება Docker დემონს unix:///var/run/docker.sock-ში. Docker დემონი შვებულებაშია? - შეცდომა cdk განლაგების დროს


როდესაც ჩემი ინფრასტრუქტურის განთავსებას ვცდილობ, ამ შეცდომას ვხვდები:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
ERRO[0000] Can't add file /Users/Samuel.Lawrence/uktv/Sandbox/cdk-arch/node_modules/aws-cdk-lib/aws-lambda-nodejs/lib/types.d.ts to tar: io: read/write on closed pipe 
ERRO[0000] Can't close tar writer: io: read/write on closed pipe 

ჩემი ინფრასტრუქტურა საკმაოდ მარტივია და ზუსტად ასე გამოიყურება:

კლასი, რომელიც ინდექსს განსაზღვრავს: index.ts

export class CdkArchStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);
    new AnalyticsReportService(this, "AnalyticsReportServiceHandler", {});
  }
}

კლასი, რომელიც აკონტროლებს სტექის შექმნას: AnalyticsReportService.ts

export class AnalyticsReportService extends NodejsFunction {
  constructor(scope: Stack, id: string, props: NodejsFunctionProps) {
    super(scope, id, props);
  }
}

და ბოლოს, ძირითადი ლამბდა ფუნქცია:

export const handler = async (event: any = {}): Promise<any> => {
  console.log("event: ", event);
  return {
    statusCode: 200,
    body: JSON.stringify({
      message: "Go Serverless v2.0! Your function executed successfully!",
    }),
  };
};

რას ზუსტად ვცდი? ეს შეცდომა რამდენადაც ჩანს, ძალიან გავრცელებული არ არის. მე შესული ვყოფილვარ ჩემს AWS კონსოლზე, ასე რომ სარეგისტრაციო მონაცემები ნამდვილად პრობლემა არაა

პასუხი #1

Docker არის აუცილებელი TypeScript Lambda-ების შეკრებისთვის/აშენებისთვის esbuild-ის არქონის შემთხვევაში. ამიტომ დააინსტალირეთ/შეიყვანეთ Docker ან დააინსტალირეთ esbuild.

ციტატა: "თუ esbuild ხელმისაწვდომია, იგი გამოიყენება თქვენს გარემოში კოდის შეკვრისთვის. წინააღმდეგ შემთხვევაში, შეკვრის პროცესი მოხდება Lambda-სთან თავსებად Docker კონტეინერში, რომელიც იყენებს Docker პლატფორმას, რომელიც შეესაბამება Lambda ფუნქციის სამიზნე არქიტექტურას."