/ bin / sh: apt-get: không tìm thấy


117

Tôi đang cố gắng thay đổi một dockerFile để làm việc với aspell. Tôi có một tập lệnh bash mà tôi muốn gói trong một thanh 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

tôi đang cố gắng thực hiện việc này trên tệp dockerfile bên dưới

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

hướng dẫn đã lỗi thời nên tôi không thể thực hiện thành công. Bạn có thể giúp tôi được không?


5
Bộ chứa docker không dựa trên Debian? Nếu nó không dựa trên Debian, quản lý gói apt sẽ không hoạt động.
Raman Sailopal

Tôi đã ở một vị trí rất ngớ ngẩn về cơ bản không liên quan đến câu hỏi hiện tại, nhưng có thể có thể cứu một nhân viên Google khác hạ cánh ở đây - tôi đã chạy docker run ubuntu:latestkhi tôi định chạy docker run -it ubuntu:latest. Tôi nghĩ rằng tôi đang chạy apt-getbên trong container, nhưng nó thực sự đang ở trong Mac terminal. rất tiếc.
MichaelChirico

Câu trả lời:


335

Các hình ảnh mà bạn đang sử dụngAlpine dựa , vì vậy bạn không thể sử dụng apt-getvì nó quản lý gói của Ubuntu.

Để khắc phục điều này, chỉ cần sử dụng:

apk updateapk add


14
Điều này có làm suy yếu lý do để bắt đầu sử dụng Alpine hay nó vẫn giữ cho hình ảnh Alpine có trọng lượng nhẹ đáng kể?
Steven

làm thế nào để thay đổi lệnh dưới đây? hub.docker.com/r/buildkite/puppeteer/dockerfile
Udhaya

22

Nếu bạn đang tìm kiếm bên trong tệp dockerfile khi tạo hình ảnh, hãy thêm dòng này:

RUN apk add --update yourPackageName
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.