Skip to main content
 首页 » 编程设计

python之docker之使用 python 图像,添加非免费的 Debian 存储库

2024年10月01日29emanlee

我在 docker 中使用 python 图像,并按照以下添加了一些依赖项:

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

我遇到了一个错误

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

搜索后是因为我需要一个非免费的 repo 协议(protocol)添加:http://installion.co.uk/debian/wheezy/non-free/s/snmp-mibs-downloader/install/index.html

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

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

但我如何通过 docker 文件做到这一点?

请您参考如下方法:

虽然这是正确的命令,

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 内容。