web-dev-qa-db-de.com

apt-get update 'hat einen Code ungleich Null zurückgegeben: 100

Ich versuche, ein Docker-Image aus meiner Docker-Datei zu erstellen, das Folgendes enthält

FROM ubuntu:14.04.4
RUN echo 'deb http://private-repo-1.hortonworks.com/HDP/ubuntu14/2.x/updates/2.4.2.0 HDP main' >> /etc/apt/sources.list.d/HDP.list
RUN echo 'deb http://private-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/ubuntu14 HDP-UTILS main'  >> /etc/apt/sources.list.d/HDP.list
RUN echo 'deb [Arch=AMD64] https://apt-mo.trafficmanager.net/repos/azurecore/ trusty main' >> /etc/apt/sources.list.d/Azure-public-trusty.list
RUN gpg --keyserver pgp.mit.edu --recv-keys B9733A7A07513CAD
RUN gpg -a --export 07513CAD | apt-key add -
RUN gpg --keyserver pgp.mit.edu --recv-keys B02C46DF417A0893
RUN gpg -a --export 417A0893 | apt-key add -
RUN apt-get update

Was mit folgendem Fehler fehlschlägt

[email protected]:~/ubuntu# docker build -t hdinsight .
Sending build context to Docker daemon 3.072 kB
Step 1 : FROM ubuntu:14.04.4
 ---> 8f1bd21bd25c
Step 2 : RUN echo 'deb http://private-repo-1.hortonworks.com/HDP/ubuntu14/2.x/updates/2.4.2.0 HDP main' >> /etc/apt/sources.list.d/HDP.list
 ---> Using cache
 ---> bc23070c0b18
Step 3 : RUN echo 'deb http://private-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/ubuntu14 HDP-UTILS main'  >> /etc/apt/sources.list.d/HDP.list
 ---> Using cache
 ---> e45c32975e28
Step 4 : RUN echo 'deb [Arch=AMD64] https://apt-mo.trafficmanager.net/repos/azurecore/ trusty main' >> /etc/apt/sources.list.d/Azure-public-trusty.list
 ---> Using cache
 ---> 1659cdcab06e
Step 5 : RUN gpg --keyserver pgp.mit.edu --recv-keys B9733A7A07513CAD
 ---> Using cache
 ---> ca73b2bfcd21
Step 6 : RUN gpg -a --export 07513CAD | apt-key add -
  ---> Using cache
  ---> 95596ad10bc9
Step 7 : RUN gpg --keyserver pgp.mit.edu --recv-keys B02C46DF417A0893
 ---> Using cache
 ---> f497deeef5b5
Step 8 : RUN gpg -a --export 417A0893 | apt-key add -
 ---> Using cache
 ---> d01dbe7fa02e
Step 9 : RUN apt-get update
 ---> Running in 89d75799982f
E: The method driver /usr/lib/apt/methods/https could not be found.
The command '/bin/sh -c apt-get update' returned a non-zero code: 100
[email protected]:~/ubuntu#

Ich laufe dies auf Ubuntu 14.04.4

Ich habe versucht, den Docker neu zu starten, alle Docker-Images zu bereinigen und apt-transport-https Zu installieren, aber nichts hat funktioniert.

Ich weiß nicht, was hier falsch ist.

31
roy

Weil Sie eine https-Quelle haben. Installieren apt-transport-https vor dem Ausführen des Updates.

FROM ubuntu:14.04.4
RUN apt-get update && apt-get install -y apt-transport-https
RUN echo 'deb http://private-repo-1.hortonworks.com/HDP/ubuntu14/2.x/updates/2.4.2.0 HDP main' >> /etc/apt/sources.list.d/HDP.list
RUN echo 'deb http://private-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/ubuntu14 HDP-UTILS main'  >> /etc/apt/sources.list.d/HDP.list
RUN echo 'deb [Arch=AMD64] https://apt-mo.trafficmanager.net/repos/azurecore/ trusty main' >> /etc/apt/sources.list.d/Azure-public-trusty.list

....
Rest of your Dockerfile.
43
techtabu

Ich hatte das gleiche Problem und löste es dank dieser Antwort:

https://superuser.com/questions/1423486/issue-with-fetching-http-deb-debian-org-debian-dists-jessie-updates-inrelease/1424377

Möglicherweise möchten Sie diese Zeile hinzufügen

RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list

vor jedem api-get Befehl in der Docker-Datei.

0
oRabey