简体   繁体   English

为什么在基于阿尔卑斯的docker-compose构建中找不到bin / sh?

[英]Why is bin/sh not found on my alpine based docker-compose build?

I am building a docker stack based on alpine. 我正在基于Alpine构建一个Docker堆栈。 Given my: 鉴于我:

php7-dockerfile : php7-dockerfile

FROM php:7-fpm-alpine
RUN apk update && \\
    apk upgrade && \\
    apk add --update autoconf gcc

and docker-compose.yml : docker-compose.yml

version: "2"

services:
    php:
        build:
            context: .
            dockerfile: php7-dockerfile
        container_name: test_php
        volumes_from:
            - data

On running docker-compose build I am getting: 运行docker-compose build我得到:

Building data
Step 1 : FROM busybox
 ---> 47bcc53f74dc
Step 2 : ADD ./web /var/www/html
 ---> Using cache
 ---> fc7f0c26a44d
Successfully built fc7f0c26a44d
Building php
Step 1 : FROM php:7-fpm-alpine
 ---> 86c28f7ac7f5
Step 2 : RUN apk update && \    apk upgrade && \    apk add --update autoconf gcc
 ---> Running in dc5c837f869c
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
v3.4.1-13-gdf6ff3e [http://dl-cdn.alpinelinux.org/alpine/v3.4/main]
v3.4.0-75-g8d1dc52 [http://dl-cdn.alpinelinux.org/alpine/v3.4/community]
OK: 5966 distinct packages available
/bin/sh:  : not found
ERROR: Service 'php' failed to build: The command '/bin/sh -c apk update && \    apk upgrade && \    apk add --update autoconf gcc' returned a non-zero code: 127

I am confused as to why it uses /bin/sh and why it is not found, as in my existing running container I can run 我对为什么使用/bin/sh以及为什么找不到它感到困惑,因为在我现有的运行容器中我可以运行

$ docker exec -it test_php /bin/sh
/var/www/html #

What am I doing wrong? 我究竟做错了什么?

In order to use a newline on a combined RUN command, don't use \\\\ but \\ . 为了在组合的RUN命令上使用换行符,请不要使用\\\\而是\\

RUN apk update && \
    apk upgrade && \
    apk add --update autoconf gcc

The error message is misleading in this case. 在这种情况下,错误消息会引起误解。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM