docker 如何使用Amazon Linux 2服务器安装wget?

kx5bkwkv  于 2023-03-17  发布在  Docker
关注(0)|答案(1)|浏览(292)

我尝试在我的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?如果是,什么是最适合这种情况的镜像?

wh6knrhe

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

相关问题