Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The command '/bin/sh -c apk add .... returned a non-zero code: 6

docker build command is not building the docker machine I am trying to make. I searched all over the net, I couldn't find an answer. Below is my dockerfile. I think the problem starts with fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz

FROM python:3.5-alpine
MAINTAINER ******* <code@******.com>


ENV INSTALL_PATH /web
RUN mkdir -p ${INSTALL_PATH}
COPY . ${INSTALL_PATH}
WORKDIR ${INSTALL_PATH}

RUN apk add --no-cache --virtual .build-deps build-base libffi-dev postgresql-dev uwsgi-python supervisor \
        && pip install --trusted-host github.com --process-dependency-links -e . \
        && find /usr/local \( -type d -a -name test -o -name tests \) \
           -o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) -exec rm -rf '{}' + \
        && runDeps="$(scanelf --needed --nobanner --recursive /usr/local \
           | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \
           | sort -u | xargs -r apk info --installed | sort -u \
        )" \
        && apk add --virtual .rundeps $runDeps && apk del .build-deps

The output is below:

Sending build context to Docker daemon  11.26kB
Step 1/7 : FROM python:3.5-alpine
 ---> 9691bd606b6d
Step 2/7 : MAINTAINER ******* <code@*******.com>
 ---> Using cache
 ---> 71df6ccd567e
Step 3/7 : ENV INSTALL_PATH /web
 ---> Using cache
 ---> 06ced81d3941
Step 4/7 : RUN mkdir -p ${INSTALL_PATH}
 ---> Using cache
 ---> ad857704376d
Step 5/7 : COPY . ${INSTALL_PATH}
 ---> Using cache
 ---> c6ddc57309a2
Step 6/7 : WORKDIR ${INSTALL_PATH}
 ---> Using cache
 ---> 62f0dbfaa3eb
Step 7/7 : RUN apk add --no-cache --virtual .build-deps build-base libffi-dev postgresql-dev uwsgi-python supervisor         && pip install --trusted-host github.com --process-dependency-links -e .         && find /usr/local \( -type d -a -name test -o -name tests \)            -o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) -exec rm -rf '{}' +         && runDeps="$(scanelf --needed --nobanner --recursive /usr/local            | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }'            | sort -u | xargs -r apk info --installed | sort -u         )"         && apk add --virtual .rundeps $runDeps && apk del .build-deps
 ---> Running in 1abedb8ada2a
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz: temporary error (try again later)
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz: temporary error (try again later)
ERROR: unsatisfiable constraints:
  .build-deps-0:
    masked in: cache
    satisfies: world[.build-deps]
  build-base (missing):
    required by:
  libffi-dev (missing):
    required by:
  postgresql-dev (missing):
    required by:
  uwsgi-python (missing):
    required by:
  supervisor (missing):
    required by:
The command '/bin/sh -c apk add --no-cache --virtual .build-deps build-base libffi-dev postgresql-dev uwsgi-python supervisor         && pip install --trusted-host github.com --process-dependency-links -e .         && find /usr/local \( -type d -a -name test -o -name tests \)            -o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) -exec rm -rf '{}' +         && runDeps="$(scanelf --needed --nobanner --recursive /usr/local            | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }'            | sort -u | xargs -r apk info --installed | sort -u         )"         && apk add --virtual .rundeps $runDeps && apk del .build-deps' returned a non-zero code: 6
like image 997
Fabrice Kwizera Avatar asked Sep 03 '25 10:09

Fabrice Kwizera


2 Answers

In the fetch process, dns name server is not able to resolve the address. The reason might be there is a firewall

Ubuntu has google dns servers in /etc/default/docker file

DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"

There's more details to resolve the dns problem here Docker - Network calls fail during image build on corporate network

like image 200
corning Avatar answered Sep 04 '25 23:09

corning


Separate each command to see which of them is exactly causing the problem. Instead of concatenate one after another using &&. Put a RUN command with the apk add only for one package and then another in the same way.

In this way you'll see which of them is exactly causing the problem.

This is only for "debug". After solving the problem you can put them all togheter again.

like image 27
OscarAkaElvis Avatar answered Sep 05 '25 00:09

OscarAkaElvis



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!