I have a Dockerfile which is basically:
# syntax=docker/dockerfile:1
FROM fedora:34
RUN dnf --assumeyes install python3 python3-pip python3-gdal
Which runs fine locally on various host machines. However when Digital Ocean App Platform tries to build the image, the RUN
command fails with:
INFO[0012] Running: [/bin/sh -c dnf --assumeyes install python3 python3-pip python3-gdal]
error: sqlite failure: CREATE TABLE IF NOT EXISTS 'Packages' ...: disk I/O error
error: cannot open Packages index using sqlite - No such file or directory (2)
error building image: error building stage: failed to execute command: waiting for process to exit: exit status 1
The only relevant info I could find was an old (2015) bug https://bugzilla.redhat.com/show_bug.cgi?id=1213602 which mentions issues with overlayfs
as the configured host layer storage engine ... but all suggested fixes fail such as adding:
RUN touch /var/lib/rpm/*
As the first command.
While I do have a Digital Ocean support ticket open ... it doesn't look like DO will resolve it and it seems like a very odd error for a very simple Dockerfile. The fact it builds fine locally suggests a host config issue?
Has anyone seen this? Is there a common issue with Fedora base images on Docker host providers?
I am stumped. My Google skills have failed me.
Just a guess but the error seems to affect the
sqlite
backend used bydnf
. This kind of error has something to do with the write on the disk. Have you checked that on this host you have enough disk space allocated to the container runtime, Docker for example. The following command can help checking disk usage.Source
You can also check the space on disk available for example.