/ bin / sh: apt-get: nicht gefunden

115

Ich versuche, eine Docker-Datei so zu ändern, dass sie mit Aspell funktioniert. Ich habe ein Bash-Skript, das ich in ein Dock einwickeln möchte

Step 4: Wrap the script in a Docker container.

The sample SDK we downloaded earlier contains an example of an action wrapped in a Docker container. In particular, the sample SDK includes a Dockerfile that builds the C program in client/example.c and installs the binary as /blackbox/client/action .

The key line in the sample Dockerfile is:

RUN cd /blackbox/client; gcc -o action example.c

Instead of compiling example.c and installing the binary as an action, well change the Dockerfile to install aspell into the Linux environment, and then install our action.sh script as the executable action command.

To do so, we delete the RUN command above, and insert the following commands into the Dockerfile:

RUN apt-get install -y aspell
RUN rm -f /blackbox/client/action
ADD action.sh /blackbox/client/action

Ich versuche dies auf der Docker-Datei unten zu tun

# Dockerfile for example whisk docker action
FROM openwhisk/dockerskeleton

ENV FLASK_PROXY_PORT 8080

### Add source file(s)
ADD example.c /action/example.c

RUN sudo apt-get install -y aspell
RUN rm -f /blackbox/client/action
ADD action.sh /blackbox/client/action



CMD ["/home/huseyin/bin", "-c", "cd actionProxy && python -u actionproxy.py"]

Das Tutorial ist veraltet, daher kann ich es nicht schaffen. Können Sie mir helfen?

Hüseyin Orkun Elmas
quelle
5
Der Docker-Container basiert nicht auf Debian? Wenn es nicht auf Debian basiert, funktioniert die passende Paketverwaltung nicht.
Raman Sailopal
Ich war in einer sehr dummen Position, die im Grunde nichts mit der aktuellen Frage zu tun hatte, aber vielleicht kann ich einen anderen Googler retten, der hier landet - ich war gelaufen, docker run ubuntu:latestals ich laufen wollte docker run -it ubuntu:latest. Ich dachte, ich würde apt-getim Container laufen , aber es war tatsächlich im Mac-Terminal. Hoppla.
MichaelChirico

Antworten:

332

Das Bild, das Sie verwenden, basiert auf Alpen. Sie können es daher nicht verwenden, apt-getda es sich um den Paketmanager von Ubuntu handelt.

Um dies zu beheben, verwenden Sie einfach:

apk update und apk add

Serey
quelle
14
Untergräbt dies zunächst die Gründe für die Nutzung von Alpine oder hält es das alpine Image dennoch erheblich leichter?
Steven
Wie ändere ich den folgenden Befehl? hub.docker.com/r/buildkite/puppeteer/dockerfile
Udhaya
22

Wenn Sie beim Erstellen eines Bildes in die Docker-Datei schauen, fügen Sie diese Zeile hinzu:

RUN apk add --update yourPackageName
Venu Gopal Tewari
quelle