无法在Docker容器中检索Debian软件包的最新版本

时间:2019-03-20 16:57:35

标签: docker debian apt-get docker-container debian-jessie

在docker容器(由node:9映像创建)内部,我尝试使用apt-get安装Stress-ng软件包。但是,由于某种原因,每次我尝试安装时都会检索该软件包的旧版本。要安装该软件包,请使用以下命令:

root@7e7a683bf288:/usr/src/app# apt-get update
root@7e7a683bf288:/usr/src/app# apt-get install stress-ng

我得到以下版本:

root@7e7a683bf288:/usr/src/app# stress-ng --version
stress-ng, version 0.01.32

但是,如果可能的话,我想获取最新版本,即0.09.42-1(https://packages.ubuntu.com/cosmic/stress-ng)。我曾尝试过类似问题中的一些解决方案,但无法使其正常工作。

其他信息:

root@7e7a683bf288:/usr/src/app# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

root@7e7a683bf288:/usr/src/app# cat /etc/apt/sources.list
deb http://deb.debian.org/debian jessie main
deb http://security.debian.org/debian-security jessie/updates main
deb http://deb.debian.org/debian jessie-updates main

root@7e7a683bf288:/usr/src/app# add-apt-repository 
bash: add-apt-repository: command not found

1 个答案:

答案 0 :(得分:1)

您必须将不稳定的仓库添加到您的sources.list。当我这样做的时候,我仍然无法按照它的说明安装Stress-ng:

root@096865e3637f:/# apt-get install stress-ng
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6-dev : Breaks: binutils (< 2.26) but 2.25-5+deb8u1 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

因此,在安装之前,我必须删除binutils

也许这是您的选择。

完整的Dockerfile如下:

FROM node:9
RUN echo "deb http://http.us.debian.org/debian unstable main non-free contrib" >> /etc/apt/sources.list && \
echo "deb-src http://http.us.debian.org/debian unstable main non-free contrib" >> /etc/apt/sources.list && \
apt-get remove binutils -y && \
apt-get update && \
apt-get install stress-ng -y
CMD stress-ng --version

stress-ng --version

  

stress-ng,版本0.09.50

因此,它不是0.09.42,而是最新的(不稳定的)版本-根据要求。