我在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文件执行此操作?
答案 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
内容。