我尝试在我的container中安装CUDA,但是,由于public.ecr.aws/lambda/python:3.8
没有wget
发行版,我收到以下错误:/bin/sh: apt-get: command not found
停靠文件:
# Pull the base image with python 3.8 as a runtime for your Lambda
FROM public.ecr.aws/lambda/python:3.8
# Copy the earlier created requirements.txt file to the container
COPY requirements.txt ./
# Install the python requirements from requirements.txt
RUN python3.8 -m pip install -r requirements.txt
# Create the model directory for mounting the EFS
RUN mkdir -p /mnt/ml
# Install CUDA
RUN apt-get install wget
RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/libcudnn8_8.1.0.77-1+cuda11.2_amd64.deb
RUN dpkg -i libcudnn8_8.1.0.77-1+cuda11.2_amd64.deb
# Copy the earlier created app.py file to the container
COPY app.py ./
COPY maskrcnn/ ./maskrcnn
# Set the CMD to your handler
CMD ["app.lambda_handler"]
为了运行我正在使用的项目,我正在使用Amazon Linux 2作为我的服务器。
我是否需要安装另一个镜像才能在我的docker中安装cuda?如果是,什么是最适合这种情况的镜像?
1条答案
按热度按时间wh6knrhe1#
您正尝试在一个Docker映像上使用Debian/Ubuntu软件包管理器,而这个Docker映像是基于AWS Docker映像的,AWS Docker映像使用了一个完全不同的软件包管理器(Yum)。
可以将RUN命令更改为:
RUN yum -y install wget
然而,即使这样做了,我想你会发现你将无法找到一个包来满足libcudnn 8。
作为您问题的真正解决方案,我建议您将基础映像更改为ubuntu,因为这是您的Docker映像更适合的,只需将Dockerfile的FROM部分重命名如下:
FROM ubuntu:latest