/ bin / sh: apt-get: introuvable

118

J'essaye de changer un dockerFile pour travailler avec aspell. J'ai un script bash que je veux envelopper dans un dock

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

j'essaye de faire ceci sur le dockerfile ci-dessous

# 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"]

le tutoriel est obsolète donc je ne peux pas réussir. Pouvez-vous m'aider?

Hüseyin Orkun Elmas
la source
5
Le conteneur Docker n'est pas basé sur Debian? S'il n'est pas basé sur Debian, la gestion des paquets apt ne fonctionnera pas.
Raman Sailopal
J'étais dans une position très idiote sans rapport avec la question actuelle, mais je pourrais peut-être sauver un autre Googler qui atterrit ici - j'avais couru docker run ubuntu:latestquand je voulais courir docker run -it ubuntu:latest. Je pensais que je courais apt-getà l'intérieur du conteneur, mais c'était en fait dans le terminal Mac. oups.
MichaelChirico

Réponses:

337

L' image que vous utilisez est basée sur Alpine , vous ne pouvez donc pas l'utiliser apt-getcar il s'agit du gestionnaire de packages d'Ubuntu.

Pour résoudre ce problème, utilisez simplement:

apk update et apk add

Serey
la source
15
Cela mine-t-il les raisons d'utiliser Alpine au départ ou cela permet-il toujours de conserver une image alpine considérablement légère?
Steven
comment changer la commande ci-dessous? hub.docker.com/r/buildkite/puppeteer/dockerfile
Udhaya
22

Si vous regardez à l'intérieur du fichier docker lors de la création d'une image, ajoutez cette ligne:

RUN apk add --update yourPackageName
Venu Gopal Tewari
la source