I'm taking a docker image, ubuntu/python:3.12-24.04_stable.
Dockerfile
FROM ubuntu/python:3.12-24.04_stable
RUN apk update
When I build this simple Dockerfile, I get exit code: 1
. Is this docker image not available /bin/sh
?
docker build -t test -f Dockerfile .
[+] Building 0.2s (5/5) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 92B 0.0s
=> [internal] load metadata for docker.io/ubuntu/python:3.12-24.04_stable 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> CACHED [1/2] FROM docker.io/ubuntu/python:3.12-24.04_stable 0.0s
=> ERROR [2/2] RUN apk update 0.1s
------
> [2/2] RUN apk update:
0.113 runc run failed: unable to start container process: exec: "/bin/sh": stat /bin/sh: no such file or directory
------
Dockerfile:3
--------------------
1 | FROM ubuntu/python:3.12-24.04_stable
2 |
3 | >>> RUN apk update
4 |
5 |
--------------------
ERROR: failed to solve: process "/bin/sh -c apk update" did not complete successfully: exit code: 1
I've tried using python:3.12
and ubuntu:24.04
and all of them are working fine but the image only ubuntu/python:3.12-24.04_stable
is returning the error to have RUN or so.
This is equivalent to a distroless image:
This image is a chiselled Ubuntu rock that contains only the Python runtime and its standard libraries. It is production-ready and can also be used as a base if additional application dependencies are needed.
(Source: the Hub overview)
The image contains no shell, no apt package manager, or anything other than the python binary and its dependencies:
lrwxrwxrwx root/root 0 2025-02-05 17:44 bin -> usr/bin
drwxr-xr-x root/root 0 2025-02-05 17:44 etc/
-rw-r--r-- root/root 1853 2025-02-05 17:44 etc/ethertypes
-rw-r--r-- root/root 1875 2025-02-05 17:44 etc/inputrc
-rw-r--r-- root/root 114 2025-02-05 17:44 etc/localtime
-rw-r--r-- root/root 75113 2025-02-05 17:44 etc/mime.types
-rw-r--r-- root/root 3144 2025-02-05 17:44 etc/protocols
drwxr-xr-x root/root 0 2025-02-05 17:44 etc/python3.12/
-rw-r--r-- root/root 155 2025-02-05 17:44 etc/python3.12/sitecustomize.py
-rw-r--r-- root/root 911 2025-02-05 17:44 etc/rpc
-rw-r--r-- root/root 12813 2025-02-05 17:44 etc/services
drwxr-xr-x root/root 0 2025-02-05 17:44 etc/ssl/
drwxr-xr-x root/root 0 2025-02-05 17:44 etc/ssl/certs/
-rw-r--r-- root/root 219342 2025-02-05 17:44 etc/ssl/certs/ca-certificates.crt
-rw-r--r-- root/root 12324 2025-02-05 17:44 etc/ssl/openssl.cnf
drwx------ root/root 0 2025-02-05 17:44 etc/ssl/private/
drwxr-xr-x root/root 0 2025-02-05 17:44 home/
lrwxrwxrwx root/root 0 2025-02-05 17:44 lib -> usr/lib
lrwxrwxrwx root/root 0 2025-02-05 17:44 lib64 -> usr/lib64
drwx------ root/root 0 2025-02-05 17:44 root/
drwxr-xr-x root/root 0 2025-02-05 17:44 run/
lrwxrwxrwx root/root 0 2025-02-05 17:44 sbin -> usr/sbin
drwxrwxrwt root/root 0 2025-02-05 17:44 tmp/
drwxr-xr-x root/root 0 2025-02-05 17:44 usr/
drwxr-xr-x root/root 0 2025-02-05 17:44 usr/bin/
-rwxr-xr-x root/root 8024216 2025-01-29 20:43 usr/bin/pebble
lrwxrwxrwx root/root 0 2025-02-05 17:44 usr/bin/python3 -> /usr/bin/python3.12
-rwxr-xr-x root/root 8023232 2025-02-05 17:44 usr/bin/python3.12
drwxr-xr-x root/root 0 2025-02-05 17:44 usr/lib/
drwxr-xr-x root/root 0 2025-02-05 17:44 usr/lib/python3.12/
-rw-r--r-- root/root 5218 2025-02-05 17:44 usr/lib/python3.12/__future__.py
...