Docker 构建依赖于主机 Ubuntu 版本而不是实际的 Docker 文件
Docker build dependent on host Ubuntu version not on the actual Docker File
我的 docker 构建遇到问题。
我有一个 docker 文件如下:
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 构建依赖于我正在使用的主机 ubuntu 版本,而不是实际的 docker 文件。
不应该 docker 构建是连贯的,无论我使用什么 ubuntu 版本。
删除现有镜像,重新拉取。似乎您的旧图像可能具有不同的基础 OS,这就是您看到问题的原因
我的 docker 构建遇到问题。
我有一个 docker 文件如下:
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 构建依赖于我正在使用的主机 ubuntu 版本,而不是实际的 docker 文件。
不应该 docker 构建是连贯的,无论我使用什么 ubuntu 版本。
删除现有镜像,重新拉取。似乎您的旧图像可能具有不同的基础 OS,这就是您看到问题的原因