Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.2K
Visualizações
El error del sistema de archivos de solo lectura de AWS Lambda no pudo crear el directorio con la imagen de Docker

Problema

La imagen de Docker se compila correctamente, pero falla cuando se ejecuta desde Lambda debido a su sistema de archivos de solo lectura.

Resumen

Luminati-proxy tiene una integración docker para su administrador de proxy. Copié su archivo docker y lo agregué a mi propio archivo docker para enviar un script a AWS Lambda. La creación de la imagen de la ventana acoplable fue exitosa , pero cuando se envió a Lambda, falló debido a un error del sistema de archivos de solo lectura :

 Failed to create directory /home/sbx_user1051/proxy_manager: [code=EROFS] Error: EROFS: read-only file system, mkdir '/home/sbx_user1051' 2022-02-28 19:37:22.049 FILE (8): Failed to create directory /home/sbx_user1051/proxy_manager: [code=EROFS] Error: EROFS: read-only file system, mkdir '/home/sbx_user1051'

Análisis

Al examinar el trackback, el error se centra en la instalación de proxy_manager y falla con los cambios de directorio (mkdir, mk_work_dir...). Estos cambios se realizan dentro de los archivos .js de GitHub que se extraen del archivo docker como la instalación de proxy_manager. Obviamente, el único directorio mutable en Lambda es el directorio /tmp , pero ¿existe alguna solución para configurar esto sin recurrir a colocar todo en el directorio /tmp mientras se borra solo durante el tiempo de ejecución? Reinstalar un proxy_manager cada ejecución no es nada ideal ...

¿Responder?

¿Podría ser esto tan simple como establecer estipulaciones ambientales como:

 ENV PATH=... ENV LD_LIBRARY_PATH=...

Si es así, ¿cómo deberían configurarse? Estoy agregando el archivo docker a continuación para una referencia rápida:

 FROM node:14.18.1 RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \ && apt-get update \ && apt-get install -y google-chrome-stable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf \ --no-install-recommends \ && rm -rf /var/lib/apt/lists/* USER root RUN npm config set user root RUN npm install -g npm@8.1.3 RUN npm install -g @luminati-io/luminati-proxy ENV DOCKER 1 CMD ["luminati", "--help"]

Agradezco la perspicacia!

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

AWS Lambda proporciona la carpeta /tmp para que los usuarios escriban archivos en lambda, ya que no conozco el contexto de su pregunta, pero espero que esto ayude. Puede escribir archivos en AWS Lambda en la carpeta /tmp, por ejemplo. Quiero crear un archivo demo.txt en tiempo de ejecución/programáticamente usando AWS lambda, luego puedo escribir el archivo en /txt/demo.txt

over 4 years ago · Santiago Trujillo Relatório

0

TL;RD:

  • En su lugar, debe aprovechar un depósito S3 para almacenar, leer y modificar cualquier archivo. Todas las lambdas y microservicios. En general, siempre debe ser tratado como apátrida
  • Toda la funcionalidad del proxy de Luminati viene preconstruida dentro de Amazon Lambdas y API Gateway .
  • Las funciones de Lambda no están destinadas a ejecutar procesos de ejecución prolongada, ya que están limitadas a un máximo de 15 minutos, por lo que el diseño del contenedor que intenta ejecutar en lambdas debe tener consideraciones de arquitectura sin servidor de AWS en su diseño.

Explicación:

Según ladocumentación de las funciones de AWS Lambda:

La imagen del contenedor debe poder ejecutarse en un sistema de archivos de solo lectura. Su código de función puede acceder a un directorio grabable /tmp con 512 MB de almacenamiento.

Dado que se supone que los contenedores basados en imágenes basadas en Linux ya tienen una carpeta llamada /tmp , debería poder acceder a esa carpeta en cualquier momento desde su código para leer (recuerde, FS de solo lectura )

Si está buscando almacenar contenido, la solución de Amazon es que cree y administre cualquier contenido en un depósito S3, los depósitos son tan fáciles de usar como si leyera un archivo localmente, pero permanecerán accesibles después de que la instancia lambda finalice la carga de trabajo.

Consulte Leer archivo desde el depósito de aws s3 mediante el nodo fs y Cargar un archivo en Amazon S3 con NodeJS para obtener más detalles sobre cómo utilizar un depósito de S3. Hay muchas formas de lograrlo, independientemente del idioma que se utilice.

Todo esto se basa en una práctica recomendada promovida por AWS en su plataforma. Donde las lambdas permanecen apátridas

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda