Búsqueda de sitios web

typescript - cdk incapaz de Conectarse al demonio de Docker en unix:///var/run/docker.sock. ¿Está en funcionamiento el demonio de Docker? - error al desplegar cdk


cuando intento desplegar mi infraestructura, me encuentro con este error:

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 

Mi infraestructura es bastante simple y se ve exactamente así:

Clase que indexa: index.ts

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

Clase que maneja la creación de la pila: AnalyticsReportService.ts

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

Y finalmente, una función lambda básica:

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!",
    }),
  };
};

¿Qué es exactamente lo que me está faltando? Este error no parece ser muy común. He iniciado sesión en mi consola de AWS, así que las credenciales definitivamente no son el problema.

Respuesta #1

Se requiere Docker para poder empaquetar/compilar los Lambdas de TypeScript en ausencia de esbuild. Así que instala/inicia Docker o instala esbuild.

Referencia: "Si esbuild está disponible, se utilizará para agrupar su código en su entorno. De lo contrario, la agrupación se realizará en un contenedor Docker compatible con Lambda con la plataforma Docker basada en la arquitectura objetivo de la función Lambda."