无法在Docker容器上安装supervisor ubuntu:trusty

时间:2015-09-22 11:58:06

标签: ubuntu docker apt-get supervisor

我正在尝试在Docker ubuntu:trusty容器中安装supervisor。这是一个小示例Dockerfile,它演示了我的问题:

FROM ubuntu:trusty
MAINTAINER someone <someone@somewhere.com>

# Get supervisor:
RUN apt-get update && apt-get install -y supervisor

当我尝试从这个Dockerfile构建一个图像时,我得到了这个输出:

$ docker build -t example .
Sending build context to Docker daemon 71.17 kB
Step 0 : FROM ubuntu:trusty
 ---> 91e54dfb1179
Step 1 : MAINTAINER someone <someone@somewhere.com>
 ---> Running in fc8d787ecfd5
 ---> 0619f1a6c1f1
Removing intermediate container fc8d787ecfd5
Step 2 : RUN apt-get update && apt-get install -y supervisor
 ---> Running in 01285d3a1d4b
Ign http://archive.ubuntu.com trusty InRelease
Ign http://archive.ubuntu.com trusty-updates InRelease
Ign http://archive.ubuntu.com trusty-security InRelease
Hit http://archive.ubuntu.com trusty Release.gpg
Get:1 http://archive.ubuntu.com trusty-updates Release.gpg [933 B]
Get:2 http://archive.ubuntu.com trusty-security Release.gpg [933 B]
Get:3 http://archive.ubuntu.com trusty Release [11.9 kB]
Get:4 http://archive.ubuntu.com trusty-updates Release [63.5 kB]
Ign http://archive.ubuntu.com trusty Release
Get:5 http://archive.ubuntu.com trusty-security Release [63.5 kB]
Get:6 http://archive.ubuntu.com trusty/main Sources [1335 kB]
Get:7 http://archive.ubuntu.com trusty/restricted Sources [5335 B]
Get:8 http://archive.ubuntu.com trusty/universe Sources [7926 kB]
Ign http://archive.ubuntu.com trusty/main amd64 Packages/DiffIndex
Ign http://archive.ubuntu.com trusty/restricted amd64 Packages/DiffIndex
Get:9 http://archive.ubuntu.com trusty/universe amd64 Packages [7589 kB]
Get:10 http://archive.ubuntu.com trusty-updates/main Sources [294 kB]
Get:11 http://archive.ubuntu.com trusty-updates/restricted Sources [4521 B]
Get:12 http://archive.ubuntu.com trusty-updates/universe Sources [171 kB]
Get:13 http://archive.ubuntu.com trusty-updates/main amd64 Packages [779 kB]
Get:14 http://archive.ubuntu.com trusty-updates/restricted amd64 Packages [22.7 kB]
Get:15 http://archive.ubuntu.com trusty-updates/universe amd64 Packages [407 kB]
Get:16 http://archive.ubuntu.com trusty-security/main Sources [119 kB]
Get:17 http://archive.ubuntu.com trusty-security/restricted Sources [1874 B]
Get:18 http://archive.ubuntu.com trusty-security/universe Sources [34.8 kB]
Get:19 http://archive.ubuntu.com trusty-security/main amd64 Packages [433 kB]
Get:20 http://archive.ubuntu.com trusty-security/restricted amd64 Packages [14.8 kB]
Get:21 http://archive.ubuntu.com trusty-security/universe amd64 Packages [150 kB]
Get:22 http://archive.ubuntu.com trusty/main amd64 Packages [1743 kB]
Get:23 http://archive.ubuntu.com trusty/restricted amd64 Packages [16.0 kB]
Fetched 21.2 MB in 19s (1076 kB/s)
Reading package lists...
W: GPG error: http://archive.ubuntu.com trusty Release: The following signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python
  python-meld3 python-minimal python-pkg-resources python2.7 python2.7-minimal
Suggested packages:
  python-doc python-tk python-distribute python-distribute-doc python2.7-doc
  binutils binfmt-support
The following NEW packages will be installed:
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python
  python-meld3 python-minimal python-pkg-resources python2.7 python2.7-minimal
  supervisor
0 upgraded, 10 newly installed, 0 to remove and 12 not upgraded.
Need to get 4141 kB of archives.
After this operation, 17.9 MB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  libpython-stdlib python-minimal python python-meld3 supervisor
E: There are problems and -y was used without --force-yes
The command '/bin/sh -c apt-get update && apt-get install -y supervisor' returned a non-zero code: 100

那里似乎存在一些身份验证问题。有时我会收到其他错误消息。例如,在第二次运行中,这是我得到的输出:

$ docker build -t example .
Sending build context to Docker daemon 71.17 kB
Step 0 : FROM ubuntu:trusty
 ---> 91e54dfb1179
Step 1 : MAINTAINER someone <someone@somewhere.com>
 ---> Using cache
 ---> 0619f1a6c1f1
Step 2 : RUN apt-get update && apt-get install -y supervisor
 ---> Running in 0d4362e9e578
Ign http://archive.ubuntu.com trusty InRelease
Ign http://archive.ubuntu.com trusty-updates InRelease
Ign http://archive.ubuntu.com trusty-security InRelease
Get:1 http://archive.ubuntu.com trusty Release.gpg [72 B]
Get:2 http://archive.ubuntu.com trusty-updates Release.gpg [933 B]
Get:3 http://archive.ubuntu.com trusty-security Release.gpg [933 B]
Get:4 http://archive.ubuntu.com trusty Release [11.9 kB]
Get:5 http://archive.ubuntu.com trusty-updates Release [63.5 kB]
Err http://archive.ubuntu.com trusty Release

Get:6 http://archive.ubuntu.com trusty-security Release [63.5 kB]
Get:7 http://archive.ubuntu.com trusty-updates/main Sources [294 kB]
Get:8 http://archive.ubuntu.com trusty-updates/restricted Sources [4521 B]
Get:9 http://archive.ubuntu.com trusty-updates/universe Sources [171 kB]
Get:10 http://archive.ubuntu.com trusty-updates/main amd64 Packages [779 kB]
Get:11 http://archive.ubuntu.com trusty-updates/restricted amd64 Packages [22.7 kB]
Get:12 http://archive.ubuntu.com trusty-updates/universe amd64 Packages [407 kB]
Get:13 http://archive.ubuntu.com trusty-security/main Sources [119 kB]
Get:14 http://archive.ubuntu.com trusty-security/restricted Sources [1874 B]
Get:15 http://archive.ubuntu.com trusty-security/universe Sources [34.8 kB]
Get:16 http://archive.ubuntu.com trusty-security/main amd64 Packages [433 kB]
Get:17 http://archive.ubuntu.com trusty-security/restricted amd64 Packages [14.8 kB]
Get:18 http://archive.ubuntu.com trusty-security/universe amd64 Packages [150 kB]
Fetched 2571 kB in 7s (347 kB/s)
Reading package lists...
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://archive.ubuntu.com trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 16126D3A3E5C1192

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/Release  

W: Some index files failed to download. They have been ignored, or old ones used instead.
Reading package lists...
Building dependency tree...
Reading state information...
Package supervisor is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'supervisor' has no installation candidate
The command '/bin/sh -c apt-get update && apt-get install -y supervisor' returned a non-zero code: 100

输出不同可能是由于Docker的缓存功能。

我认为在Docker容器上安装东西应该是开箱即用的ubuntu:trusty。我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

对于这种错误

GPG error: archive.ubuntu.com 
trusty Release: The following signatures couldn't be verified because 
the public key is not available: NO_PUBKEY 16126D3A3E5C1192

检查&#34; How to fix GPG in updater&#34;和&#34; How do I fix the GPG error “NO_PUBKEY”?&#34;

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192 && \
sudo apt-get update