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.

Problemas con NVIDIA-Linux-x86_64-470.63.01-grid.run al implementar en Cloud Run.

Estoy intentando implementar en Google Cloud. Así que mi Dockerfile es el siguiente:

FROM ubuntu:20.04
RUN apt update 
RUN apt -y install sudo
RUN apt -y install curl
RUN sudo apt install -y build-essential 
RUN curl -O https://storage.googleapis.com/nvidia-drivers-us-public/GRID/GRID13.0/NVIDIA-Linux-x86_64-470.63.01-grid.run
RUN chmod +x NVIDIA-Linux-x86_64-470.63.01-grid.run
RUN sudo /bin/bash NVIDIA-Linux-x86_64-470.63.01-grid.run

FROM python:3.8

RUN adduser meat
RUN passwd -d meat
USER meat
WORKDIR /home/meat
RUN python3 -m venv meat-env
RUN /bin/bash -c "source meat-env/bin/activate"
RUN /usr/local/bin/python -m pip install --upgrade pip
COPY requirements.txt .
RUN pip3 install -r requirements.txt
COPY . .
CMD ["python", "main.py"]

Y obtuve este error:

Step 8/20 : RUN sudo /bin/bash NVIDIA-Linux-x86_64-470.63.01-grid.run
---> Running in 811998f9cea8
Verifying archive integrity...
OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 470.63.01

...............

[91mError opening terminal: unknown.
[0m
unable to stream build output: The command '/bin/sh -c sudo /bin/bash NVIDIA-Linux-x86_64-470.63.01-grid.run' returned a non-zero code: 1
Failed to build the app. Error: unable to stream build output: The command '/bin/sh -c sudo /bin/bash NVIDIA-Linux-x86_64-470.63.01-grid.run' returned a non-zero code: 1

¿Hice algo incorrecto en mi Dockerfile? ¿O existe alguna forma diferente de realizar el comando?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El error parece estar relacionado con el terminal que no es reconocido dentro del contenedor. Puedes intentar agregar ENV TERM=xterm al Dockerfile después de la línea FROM Ubuntu:20.04 para establecer la variable de entorno del terminal.

    Entonces tu Dockerfile se vería así:

    FROM ubuntu:20.04
    ENV TERM=xterm
    RUN apt update 
    RUN apt -y install sudo
    RUN apt -y install curl
    RUN sudo apt install -y build-essential 
    RUN curl -O https://storage.googleapis.com/nvidia-drivers-us-public/GRID/GRID13.0/NVIDIA-Linux-x86_64-470.63.01-grid.run
    RUN chmod +x NVIDIA-Linux-x86_64-470.63.01-grid.run
    RUN sudo /bin/bash NVIDIA-Linux-x86_64-470.63.01-grid.run
    
    FROM python:3.8
    
    RUN adduser meat
    RUN passwd -d meat
    USER meat
    WORKDIR /home/meat
    RUN python3 -m venv meat-env
    RUN /bin/bash -c "source meat-env/bin/activate"
    RUN /usr/local/bin/python -m pip install --upgrade pip
    COPY requirements.txt .
    RUN pip3 install -r requirements.txt
    COPY . .
    CMD ["python", "main.py"]
    

    Si eso no funciona, también puedes intentar ejecutar el comando con la bandera -c para forzar a iniciar un shell:

    RUN sudo /bin/bash -c 'NVIDIA-Linux-x86_64-470.63.01-grid.run'
    

    O puedes intentar usar nvidia-docker en lugar de instalar el controlador de NVIDIA directamente dentro del contenedor. Esto requeriría instalar nvidia-docker en tu máquina host y ejecutar tu contenedor con la bandera --runtime=nvidia.

    docker run --runtime=nvidia tu-imagen
    

Comments are closed.