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?
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íneaFROM Ubuntu:20.04
para establecer la variable de entorno del terminal.Entonces tu Dockerfile se vería así:
Si eso no funciona, también puedes intentar ejecutar el comando con la bandera
-c
para forzar a iniciar un shell:O puedes intentar usar
nvidia-docker
en lugar de instalar el controlador de NVIDIA directamente dentro del contenedor. Esto requeriría instalarnvidia-docker
en tu máquina host y ejecutar tu contenedor con la bandera--runtime=nvidia
.