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


117

Я намагаюся змінити 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, керування вкладними пакетами не працюватиме.
Раман Сайлопал

Я був у дуже дурному становищі, в основному не пов'язаний з поточним питанням, але, можливо, може врятувати іншого Googler, який приземляється тут - я бігав, docker run ubuntu:latestколи мав намір бігати docker run -it ubuntu:latest. Я думав, що біжу apt-getвсередині контейнера, але він був насправді в терміналі Mac. оні.
MichaelChirico

Відповіді:


335

Зображення ви використовуєте в альпійському основі , так що ви не можете використовуватиapt-get , тому що це менеджер пакетів в Ubuntu.

Щоб виправити це, просто скористайтеся:

apk update і apk add


14
Чи це підриває причини використання Alpine для початку або все ще зберігає зображення Альпії значно легкою вагою?
Стівен

як змінити команду нижче? hub.docker.com/r/buildkite/puppeteer/dockerfile
Удхая

22

Якщо ви під час створення зображення шукаєте всередині dockerfile, додайте цей рядок:

RUN apk add --update yourPackageName
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.