es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de compilación de imagen de Docker ‘archivo no existe’

Estoy intentando crear una imagen de Docker con un binario Rust, una pequeña aplicación de línea de comandos que hice. Mi comando de construcción de Docker da errores cuando trato de ejecutarlo con:

sudo docker build -t imagen/etiqueta . 

Error:

    Paso 6/8 : COPY --from=builder /volume/target/x86_64-unknown-linux- 
    musl/release/async_web_scraper .

    COPY falló: stat volume/target/x86_64-unknown-linux- 
    musl/release/async_web_scraper: el archivo no existe

Estoy utilizando el método de enlace estático con musl. Este es mi Dockerfile:

   WORKDIR /volume
   COPY . .
   RUN cargo build --release

   FROM alpine
   COPY --from=builder /volume/target/x86_64-unknown-linux- 
   musl/release/async_web_scraper .
   WORKDIR /async-root-dir
   ENTRYPOINT [ "/async_web_scraper" ]

Siento que estoy cerca. ¿Alguna idea?

Gracias

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el comando COPY en tu Dockerfile no puede encontrar el archivo binario compilado en la ubicación especificada. Asegúrate de que el comando cargo build se complete con éxito sin errores y que el binario se genere en la ruta correcta.

    También puedes intentar modificar tu comando COPY para incluir la ruta completa al archivo binario, de la siguiente manera:

    COPY --from=builder /volume/target/x86_64-unknown-linux-musl/release/async_web_scraper /async_web_scraper
    

    Esto asegurará que el archivo binario se copie correctamente en la nueva imagen en la ubicación especificada.

    Si el problema persiste, puedes intentar depurar ejecutando el comando de construcción con la bandera –progress=plain, lo cual mostrará información más detallada sobre cada paso del proceso de construcción.

    ¡Buena suerte!

Comments are closed.