我正在尝试通过运行此命令在本地设置Scrapy docker env
docker build -t scrapy .
我遇到错误
获得:20 http://archive.ubuntu.com/ubuntu精确发布[49.6 kB] 获取:21 http://archive.ubuntu.com/ubuntu个仿生移植/宇宙amd64软件包[2975 B] 得到:22 http://archive.ubuntu.com/ubuntu精确的Release.gpg [198 B] Ign:22 http://archive.ubuntu.com/ubuntu精确的Release.gpg 正在阅读包装清单...
W:GPG错误:http://archive.ubuntu.com/ubuntu精确发布:由于公共密钥不可用,因此无法验证以下签名:NO_PUBKEY 40976EAF437D05B5 E:存储库“ http://archive.ubuntu.com/ubuntu精确发布”未签名。 命令'/ bin / sh -c apt-get update'返回非零代码:100
我的Docker文件如下
############################################################
# Dockerfile for a Scrapy development environment
# Based on Ubuntu Image
############################################################
FROM ubuntu
MAINTAINER NeuralFoundry <neuralfoundry.com>
RUN echo deb http://archive.ubuntu.com/ubuntu precise universe >> /etc/apt/sources.list
RUN apt-get update
## Python Family
RUN apt-get install -qy python python-dev python-distribute python-pip ipython
## Selenium
RUN apt-get install -qy firefox xvfb
RUN pip install selenium pyvirtualdisplay
## AWS Python SDK
RUN pip install boto3
## Scraping
RUN pip install beautifulsoup4 requests
RUN apt-get install -qy libffi-dev libxml2-dev libxslt-dev lib32z1-dev libssl-dev
## Scrapy
RUN pip install lxml scrapy scrapyjs
任何帮助将不胜感激。 TIA
答案 0 :(得分:2)
您的Dockerfile具有对FROM ubuntu
的无限定引用。它将解析为ubuntu:latest
,当前与ubuntu:18.04
相同。 Ubuntu 18.04的代号为Bionic Beaver。精确企鹅为12.04。您正在尝试从Bionic Beaver ubuntu安装中指向“精确企鹅”存储库:RUN echo deb http://archive.ubuntu.com/ubuntu precise universe >> /etc/apt/sources.list
。
大概是破裂的,因为Ubuntu 18.04没有用于验证12.04存储库签名的密钥。您应该在整个映像中与您的版本保持一致。不幸的是,最旧的Docker映像看起来像是14.04(可信任)。您是否有理由要使用precise
存储库,还是可以使用更现代的版本?没有什么比您的Dockerfile突如其来的了,因为它会在18.04中崩溃。选择所需的版本,并将FROM
行更改为FROM ubuntu:14.04
(或更高版本)。然后删除该RUN echo deb ...
行(假设您根本不需要precise
存储库)。