docker - 使用python图片,添加非免费的Debian回购?

时间:2017-08-25 09:06:00

标签: python docker debian

我在docker中使用python图像并添加了一些依赖项,如下所示:

if (myChart) myChart.destroy();

我收到错误

RUN apt-get update -y \
    && apt-get install -y apt-utils libsasl2-dev python3-dev libldap2-dev libssl-dev libsnmp-dev snmp-mibs-downloader

搜索之后是因为我需要按照http://installion.co.uk/debian/wheezy/non-free/s/snmp-mibs-downloader/install/index.html

添加非免费回购

我相信我需要编辑/etc/apt/sources.list并添加以下内容:

E: Package 'snmp-mibs-downloader' has no installation candidate

但是如何通过docker文件执行此操作?

2 个答案:

答案 0 :(得分:2)

non-free组件添加到sources.list的方法相同。编辑Dockerfile中的/etc/apt/sources.list文件,并替换如下所示的行:

deb http://http.us.debian.org/debian jessie main contrib

通过

deb http://http.us.debian.org/debian jessie main contrib non-free

您可以使用类似

的命令在Dockerfile中执行此操作
sed -i "s#deb http://http.us.debian.org/debian jessie main contrib non-free#deb http://http.us.debian.org/debian jessie main contrib non-free#g" /etc/apt/sources.list

同样适用于security.debian.org

答案 1 :(得分:1)

这是正确的命令,

sed -i -e's/ main/ main contrib non-free/g' /etc/apt/sources.list

如果要执行此操作,则应将此操作作为其余第一张图片的一部分,

RUN \
  sed -i -e's/ main/ main contrib non-free/g' /etc/apt/sources.list \
  && apt-get -q update                                              \
  && apt-get -qy dist-upgrade                                       \
  && apt-get install -qy foobar                                     \
  && foobar whatever                                                \
  && apt-get -qy --purge remove foobar                              \
  && apt-get clean                                                  \
  && rm -rf /var/lib/apt/lists

上面显示的是该命令的完整显示以及其余apt内容。