it-swarm.com.de

Pakete können nicht im Docking-Ubuntu-Image installiert werden

Ich habe ein Ubuntu 14.04 Image auf dem Docker installiert. Wenn ich danach versuche, Pakete im Ubuntu-Image zu installieren, kann ich den Paketfehler nicht finden: 

apt-get install curl

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package curl

Wie kann man diesen Fehler beheben?

Da das Image keinen Paket-Cache enthält, müssen Sie Folgendes ausführen:

apt-get update

bevor Sie Pakete installieren, und wenn sich Ihr Befehl in einer Docker-Datei befindet, benötigen Sie:

apt-get -y install curl

Um die Standardausgabe eines Befehls zu unterdrücken, verwenden Sie -qq. Z.B.

apt-get -qq -y install curl
402
ISanych

Aus den docs in Mai 2018:

Kombinieren Sie immer RUN apt-get update mit apt-get install in derselben RUN-Anweisung zum Beispiel

RUN apt-get update && apt-get install -y package-bar

(...)

Die alleinige Verwendung von apt-get update in einer RUN-Anweisung bewirkt das Zwischenspeichern von Probleme und nachfolgende apt-get install-Anweisungen schlagen fehl.

76
creimers

Fügen Sie folgenden Befehl in Dockerfile hinzu:

RUN apt-get update
10
Gourav Singla

Stellen Sie sicher, dass Sie keine Syntaxfehler in Ihrer Docker-Datei haben, da dies ebenfalls zu diesem Fehler führen kann. Ein korrektes Beispiel ist:

RUN apt-get update \
    && apt-get -y install curl \
    another-package

Es war eine Kombination aus dem Beheben eines Syntaxfehlers und dem Hinzufügen von apt-get update, die das Problem für mich gelöst haben.

1
Connor

Sie müssen die Paketliste in Ubuntu aktualisieren:

$ Sudo apt-get update
$ Sudo apt-get install <package_name>
0
0xsr3k4nth

Der Fehler tritt auf, weil Sie das Paket nicht haben oder das Repo nicht, das es enthält.

Einfache Lösung sollten Sie apt-get update machen und es dann versuchen.

0
Nishant Dwivedi