Docker:python 没有安装候选者

Sak*_*wal 2 ubuntu docker dockerfile

我正在尝试从我的 docker 文件创建一个 docker 映像,其中包含以下内容:

FROM ubuntu:latest 
WORKDIR /app 
ADD . /app 
RUN apt-get update && apt-get install python -y 
CMD python /app/main.py 
LABEL color=red
Run Code Online (Sandbox Code Playgroud)

失败并出现以下错误:

apt-get update && apt-get install python -y 返回一个非零代码:100 错误

所以请帮我解决这个错误

JRi*_*dsz 7

Docker 就是 Linux。当某些apt-get install acme失败时,几乎总是由于 Linux 而不是 docker。

要找到解决方案,第一步是在干净的或新的 Linux 机器上复制错误。

复制您的问题

为了在干净的 Linux 中复制您的错误,我创建了一个空的 Linux:docker run -it ubuntu:latest

然后,在容器内我运行了你的apt-get update && apt-get install python -y. 我收到你的错误:

在此输入图像描述

解决方案

在这种特殊情况下,由于您使用的是FROM ubuntu:latest,今年(2023)最新的 ubuntu 映像默认不允许python2

所以,如果你尝试使用apt-get install python3 -y,它会起作用。最后你的 Dockerfile 应该是:

FROM ubuntu:latest 
WORKDIR /app 
ADD . /app 
RUN apt-get update && apt-get install python3 -y 
CMD python3 /app/main.py 
LABEL color=red
Run Code Online (Sandbox Code Playgroud)

老蟒蛇

如果你的代码需要旧的Python版本,你不应该使用FROM ubuntu:latest,因为在最新版本的ubuntu中,默认只允许使用Python3。

如果您需要 python2,您应该在互联网上研究以下选项之一: