typescript - cdk δεν είναι δυνατή η σύνδεση με το Docker daemon στο unix:///var/run/docker.sock. Τρέχει το docker daemon; - σφάλμα κατά την ανάπτυξη του 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);
  }
}

Και τέλος, μια βασική συνάρτηση lambda:

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 Lambdas στην απουσία του esbuild. Επομένως, εγκαταστήστε/ξεκινήστε το Docker ή εγκαταστήστε το esbuild.

Αναφορά: «Εάν το esbuild είναι διαθέσιμο, θα χρησιμοποιηθεί για να συγκεντρώσει τον κώδικά σας στο περιβάλλον σας. Διαφορετικά, η συγκέντρωση θα πραγματοποιηθεί σε ένα συμβατό με Lambda Docker container με την πλατφόρμα Docker βασισμένη στην στοχευμένη αρχιτεκτονική της συνάρτησης Lambda.»