【发布时间】:2021-06-23 14:00:27
【问题描述】:
我的 docker build 遇到问题。
我有一个 dockerfile 如下:
FROM python:3.6
RUN apt-get update && apt-get install -y libav-tools
....
我面临的问题是在 ubuntu:20.04 LTS
上构建时出现此错误E: Package 'libav-tools' has no installation candidate
我做了一些研究,发现ffmpeg应该是libav-tools的替代品
FROM python:3.6
RUN apt-get update && apt-get install -y ffmpeg
....
我再次尝试没有任何问题。
但是当我尝试在 ubuntu:16.04 xenial 上使用 ffmpeg 构建相同的图像时,我收到一条消息
E: Package 'ffmpeg' has no installation candidate
之后,我将 ffmpeg 替换为 libav-tools,它在 ubuntu:16.04 上运行
我现在很困惑,为什么 docker build 依赖于我正在使用的主机 ubuntu 版本,而不是实际的 dockerfile。
无论我使用的是什么 ubuntu 版本,docker build 都不应该是连贯的。
【问题讨论】:
-
我希望您在任何节点上都没有缓存 python:3.6 的图像?我建议也做一个最新的拉动
-
在我尝试删除
python:3.6图像并再次拉取它之后。它修复了我认为我有一个旧版本的 python 3.6 有一个旧版本的 debian 的错误。非常感谢!!!
标签: docker ubuntu ffmpeg ubuntu-16.04 ubuntu-20.04