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 ფუნქციის სამიზნე არქიტექტურას."