Error Docker saying bad file descriptor

+6 votes

 ERROR: Bad file descriptor during apk update in Docker container

fetch http://example.com
ERROR: http://example.com
main: Bad file descriptor
WARNING: Ignoring APKINDEX.70c88391.tar.gz: Bad file descriptor
fetch http://example.com
ERROR: http://example.com: Bad file descriptor
WARNING: Ignoring APKINDEX.5022a8a2.tar.gz: Bad file descriptor
2 errors; 33 distinct packages available
Mar 27, 2018 in Docker by Atul
• 10,240 points

recategorized Oct 16, 2018 by Kalgi 9,269 views

4 answers to this question.

+2 votes
Best answer

The solution was easy enough. Add these 2 lines to your RUN command:

rm -rf /var/cache/apk && \
mkdir /var/cache/apk && \

In Dockerfile ...

RUN apk add --update --no-cache bash \
    git \
    make \
    clang \
    g++ \
    go && \
    mkdir -p $REPO && \
    mkdir -p $GODIR/src && \
    rm -rf /usr/share/man && \
    rm -rf /var/cache/apk && \
    mkdir /var/cache/apk && \
    apk del git clang
answered Mar 27, 2018 by DragonLord999
• 8,450 points

selected Oct 11, 2018 by Priyaj
+2 votes

Try modifying your Docker file something like this:

RUN echo http://mirror.yandex.ru/mirrors/alpine/v3.5/main > /etc/apk/repositories; \
    echo http://mirror.yandex.ru/mirrors/alpine/v3.5/community >> /etc/apk/repositories

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