无法创建Dockerfile映像/ bin / sh:apt-get:找不到

时间:2020-05-28 10:27:01

标签: docker dockerfile docker-image

HI,我可以寻求帮助吗,我正在构建映像Dockerfile 但是我收到此错误/bin/sh: apt-get: not found,我没有拉O.S,因为我知道docker具有默认的O?S?

Executing busybox-1.31.1-r9.trigger
OK: 12 MiB in 31 packages
Removing intermediate container 9a28ea5578ed
 ---> 73b493dcd606
Step 3/7 : RUN apt-get update    &&  apt-get install –y nginx
 ---> Running in 9e2bb52cd7c8
/bin/sh: apt-get: not found
The command '/bin/sh -c apt-get update    &&  apt-get install –y nginx' returned a non-zero code: 127




FROM php:7.4-fpm-alpine
#RUN docker-php-ext-install pdo
RUN docker-php-ext-install pdo_mysql
RUN apt-get update \
   &&  apt-get install –y nginx

COPY index.php /var/www/myapp
ADD default.conf /etc/nginx/conf.d/default.conf

EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

2 个答案:

答案 0 :(得分:4)

您使用的是alpine而不是ubuntu的基本图像。因此,alpine的程序包管理器是apk而不是aptapt-get

命令应为

RUN apk update && \
    apk add --no-cache nginx 

--no-cache选项允许不在本地缓存索引,这对于保持容器较小非常有用。

参考:-https://www.cyberciti.biz/faq/10-alpine-linux-apk-command-examples/

答案 1 :(得分:2)

您的基本映像php:7.4-fpm-alpine的Linux发行版是Alpine而不是Ubuntu,因此您需要使用apk而不是apt-get作为软件包管理器。

RUN apk update && apk add nginx