【问题标题】:Docker build dependent on host Ubuntu version not on the actual Docker FileDocker 构建依赖于主机 Ubuntu 版本而不是实际的 Docker 文件
【发布时间】: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


【解决方案1】:

删除现有图像并再次拉取。似乎您的旧图像可能具有不同的基本操作系统,这就是您看到问题的原因

【讨论】:

    猜你喜欢
    • 2023-02-01
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 2016-04-04
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多