/ bin / sh: apt-get: не найдено

118

Я пытаюсь изменить dockerFile для работы с aspell. У меня есть сценарий bash, который я хочу обернуть в док-станцию

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

Я пытаюсь сделать это в файле докеров ниже

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

Учебник устарел, поэтому я не могу его выполнить. Вы можете помочь мне?

Хусейн Оркун Эльмас
источник
5
Контейнер докеров не основан на Debian? Если он не основан на Debian, управление пакетами apt работать не будет.
Raman Sailopal
Я оказался в очень глупом положении, не имеющем отношения к текущему вопросу, но, возможно, смогу спасти другого гуглера, который приземлится здесь - я сбежал, docker run ubuntu:latestкогда хотел бежать docker run -it ubuntu:latest. Я думал, что работаю apt-getвнутри контейнера, но на самом деле это было в терминале Mac. упс.
MichaelChirico

Ответы:

337

Изображения вы используете это на основе Alpine , так что вы не можете использовать , apt-getпотому что это менеджер пакетов в Ubuntu.

Чтобы исправить это, просто используйте:

apk update и apk add

Серей
источник
15
Подрывает ли это причины для использования Alpine с самого начала или по-прежнему сохраняет образ Alpine значительно легким?
Стивен
как изменить команду ниже? hub.docker.com/r/buildkite/puppeteer/dockerfile
Udhaya
22

Если вы смотрите в dockerfile при создании образа, добавьте эту строку:

RUN apk add --update yourPackageName
Вену Гопал Тевари
источник