Docker build: no network connection

Hello,
I have a problem with docker build not beeing able to connect to the internet. For exampel I have this dockerfile:

# Use an official Python runtime as a base image
FROM python:3.9-slim

# Set the working directory
WORKDIR /app

# Copy the requirements and application files
COPY requirements.txt .
COPY app.py .

# Install dependencies
RUN pip install --no-cache-dir -r requirements.txt

# Expose the port Flask runs on
EXPOSE 5000

# Define the command to run the application
CMD ["python", "app.py"]

When trying to build this image, installing the requirements fails with an error:

% docker build .
[+] Building 86.6s (9/9) FINISHED                                                                                                                                                                                                                              docker:default
 => [internal] load build definition from Dockerfile                                                                                                                                                                                                                     0.0s
 => => transferring dockerfile: 426B                                                                                                                                                                                                                                     0.0s
 => [internal] load metadata for docker.io/library/python:3.9-slim                                                                                                                                                                                                       1.9s
 => [internal] load .dockerignore                                                                                                                                                                                                                                        0.0s
 => => transferring context: 2B                                                                                                                                                                                                                                          0.0s
 => [1/5] FROM docker.io/library/python:3.9-slim@sha256:a0ba1303f0593d819f74af19ec08c82a5d3be255beb85c148b9807f10463c86c                                                                                                                                                 3.0s
 => => resolve docker.io/library/python:3.9-slim@sha256:a0ba1303f0593d819f74af19ec08c82a5d3be255beb85c148b9807f10463c86c                                                                                                                                                 0.0s
 => => sha256:28f178de310bc01fac2b8f9b87541563f1a77527ff6c14ee6aae0954864556ec 3.32MB / 3.32MB                                                                                                                                                                           0.7s
 => => sha256:0f0630bc558f158662d2f804360f24f584b79c9b7bff342b14be6f5945c300d8 14.93MB / 14.93MB                                                                                                                                                                         1.9s
 => => sha256:faa04e2c73d5969c08650d34ef8b62680ee75ddf3cef21fe3c65afb938f06f9f 250B / 250B                                                                                                                                                                               0.2s
 => => sha256:a0ba1303f0593d819f74af19ec08c82a5d3be255beb85c148b9807f10463c86c 10.41kB / 10.41kB                                                                                                                                                                         0.0s
 => => sha256:db96716a96803e7cbe2316ebd6d1c002aa5573c56b556d8f4bec1a74adee1aba 1.75kB / 1.75kB                                                                                                                                                                           0.0s
 => => sha256:2944fd9724ebbf828b092fac4f21a77d3a64765e80c0c4bee2094d1e8726bdbb 5.28kB / 5.28kB                                                                                                                                                                           0.0s
 => => extracting sha256:28f178de310bc01fac2b8f9b87541563f1a77527ff6c14ee6aae0954864556ec                                                                                                                                                                                0.2s
 => => extracting sha256:0f0630bc558f158662d2f804360f24f584b79c9b7bff342b14be6f5945c300d8                                                                                                                                                                                0.8s
 => => extracting sha256:faa04e2c73d5969c08650d34ef8b62680ee75ddf3cef21fe3c65afb938f06f9f                                                                                                                                                                                0.0s
 => [internal] load build context                                                                                                                                                                                                                                        0.0s
 => => transferring context: 418B                                                                                                                                                                                                                                        0.0s
 => [2/5] WORKDIR /app                                                                                                                                                                                                                                                   0.4s
 => [3/5] COPY requirements.txt .                                                                                                                                                                                                                                        0.0s
 => [4/5] COPY app.py .                                                                                                                                                                                                                                                  0.0s
 => ERROR [5/5] RUN pip install --no-cache-dir -r requirements.txt                                                                                                                                                                                                      81.1s
------                                                                                                                                                                                                                                                                        
 > [5/5] RUN pip install --no-cache-dir -r requirements.txt:                                                                                                                                                                                                                  
13.26 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f4e017250a0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/flask/                                                                                                                                                                                                                           
23.78 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f4e00e18e50>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/flask/                                                                                                                                                                                                                           
34.79 WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f4e00e18880>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/flask/
46.80 WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f4e00e188b0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/flask/
60.82 WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f4e00ef35e0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/flask/
70.84 ERROR: Could not find a version that satisfies the requirement flask (from versions: none)
70.84 ERROR: No matching distribution found for flask
------
Dockerfile:12
--------------------
  10 |     
  11 |     # Install dependencies
  12 | >>> RUN pip install --no-cache-dir -r requirements.txt
  13 |     
  14 |     # Expose the port Flask runs on
--------------------
ERROR: failed to solve: process "/bin/sh -c pip install --no-cache-dir -r requirements.txt" did not complete successfully: exit code: 1

I currently have problems where containers in a docker compose setup couldn’t reach each other. Restarting the computer or iptables -t nat -F solved the problem temporarely, but after restarting the docker compose setup it came back. No I can’t even build docker containers without setting the network to host.
This is my docker network:

% docker network inspect bridge
[
    {
        "Name": "bridge",
        "Id": "a5be17fb867c037afdab09e0cd0326d4868385dd9dc5fc243fd7d0bb9ce6556c",
        "Created": "2024-12-03T07:53:40.207553606+01:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.17.0.0/16",
                    "Gateway": "172.17.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {},
        "Options": {
            "com.docker.network.bridge.default_bridge": "true",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
            "com.docker.network.bridge.name": "docker0",
            "com.docker.network.driver.mtu": "1500"
        },
        "Labels": {}
    }
]

iptables rules:

% sudo iptables -L
[sudo] Passwort für root: 
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
LIBVIRT_INP  all  --  anywhere             anywhere            

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DOCKER-USER  all  --  anywhere             anywhere            
DOCKER-ISOLATION-STAGE-1  all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
LIBVIRT_FWX  all  --  anywhere             anywhere            
LIBVIRT_FWI  all  --  anywhere             anywhere            
LIBVIRT_FWO  all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
LIBVIRT_OUT  all  --  anywhere             anywhere            

Chain DOCKER (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             172.21.0.3           tcp dpt:http-alt

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target     prot opt source               destination         
DOCKER-ISOLATION-STAGE-2  all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-USER (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere            

Chain LIBVIRT_FWI (1 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             192.168.122.0/24     ctstate RELATED,ESTABLISHED
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain LIBVIRT_FWO (1 references)
target     prot opt source               destination         
ACCEPT     all  --  192.168.122.0/24     anywhere            
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain LIBVIRT_FWX (1 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            

Chain LIBVIRT_INP (1 references)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootps
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:bootps

Chain LIBVIRT_OUT (1 references)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootpc
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:bootpc

and my network devices:

% ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enp2s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 84:a9:38:32:72:40 brd ff:ff:ff:ff:ff:ff
3: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 84:a9:38:32:72:3f brd ff:ff:ff:ff:ff:ff
4: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether f8:89:d2:f2:2e:df brd ff:ff:ff:ff:ff:ff
    inet 192.168.8.194/24 brd 192.168.8.255 scope global dynamic noprefixroute wlp3s0
       valid_lft 73402sec preferred_lft 73402sec
    inet6 2a01:599:b43:d634:c2ff:388f:f94d:2/128 scope global dynamic noprefixroute 
       valid_lft 6962sec preferred_lft 3362sec
    inet6 2a01:599:b43:d634:8c08:6045:60cf:b135/64 scope global temporary dynamic 
       valid_lft 7080sec preferred_lft 3480sec
    inet6 2a01:599:b43:d634:ebc4:c78b:77ea:7980/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 7080sec preferred_lft 3480sec
    inet6 fdc2:ff38:8ff9:4d00:576a:7e78:e75c:6f08/64 scope global temporary dynamic 
       valid_lft 7080sec preferred_lft 3480sec
    inet6 fdc2:ff38:8ff9:4d00:ee64:60e6:b943:6943/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 7080sec preferred_lft 3480sec
    inet6 fe80::d420:d41d:5cef:999e/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:9a:84:3e:54 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:9aff:fe84:3e54/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
106: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:b9:4b:ba brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
111: br-99945d5fb90e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:60:6e:42:f5 brd ff:ff:ff:ff:ff:ff
    inet 172.20.0.1/16 brd 172.20.255.255 scope global br-99945d5fb90e
       valid_lft forever preferred_lft forever
    inet6 fe80::42:60ff:fe6e:42f5/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
112: br-7a0565b6779b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:01:22:4e:0a brd ff:ff:ff:ff:ff:ff
    inet 172.21.0.1/16 brd 172.21.255.255 scope global br-7a0565b6779b
       valid_lft forever preferred_lft forever
    inet6 fe80::42:1ff:fe22:4e0a/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
146: veth7a815b9@if145: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-99945d5fb90e state UP group default 
    link/ether 9a:b5:24:78:eb:74 brd ff:ff:ff:ff:ff:ff link-netnsid 2
    inet6 fe80::98b5:24ff:fe78:eb74/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
148: vethd7ebcb6@if147: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-7a0565b6779b state UP group default 
    link/ether 4e:84:9f:61:a1:22 brd ff:ff:ff:ff:ff:ff link-netnsid 1
    inet6 fe80::4c84:9fff:fe61:a122/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
150: vethdd26c50@if149: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-7a0565b6779b state UP group default 
    link/ether e6:c1:6f:30:53:d0 brd ff:ff:ff:ff:ff:ff link-netnsid 3
    inet6 fe80::e4c1:6fff:fe30:53d0/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
152: veth2a0f798@if151: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-99945d5fb90e state UP group default 
    link/ether c6:e8:17:24:76:f0 brd ff:ff:ff:ff:ff:ff link-netnsid 4
    inet6 fe80::c4e8:17ff:fe24:76f0/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
154: veth1e2cbf6@if153: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-7a0565b6779b state UP group default 
    link/ether 6a:3a:fb:c4:b7:32 brd ff:ff:ff:ff:ff:ff link-netnsid 2
    inet6 fe80::683a:fbff:fec4:b732/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
156: vethe74de44@if155: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-99945d5fb90e state UP group default 
    link/ether 12:ce:b6:59:e6:f9 brd ff:ff:ff:ff:ff:ff link-netnsid 6
    inet6 fe80::10ce:b6ff:fe59:e6f9/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
158: veth22551e4@if157: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-7a0565b6779b state UP group default 
    link/ether 9a:d2:fc:09:fe:6d brd ff:ff:ff:ff:ff:ff link-netnsid 4
    inet6 fe80::98d2:fcff:fe09:fe6d/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
160: veth104926b@if159: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-99945d5fb90e state UP group default 
    link/ether d6:5a:da:82:9a:83 brd ff:ff:ff:ff:ff:ff link-netnsid 8
    inet6 fe80::d45a:daff:fe82:9a83/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
162: veth3bf003d@if161: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-7a0565b6779b state UP group default 
    link/ether 7a:14:a5:23:02:e9 brd ff:ff:ff:ff:ff:ff link-netnsid 8
    inet6 fe80::7814:a5ff:fe23:2e9/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
164: veth0c186ce@if163: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-99945d5fb90e state UP group default 
    link/ether 9e:08:b4:a1:ac:9d brd ff:ff:ff:ff:ff:ff link-netnsid 9
    inet6 fe80::9c08:b4ff:fea1:ac9d/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
166: veth64a4f1c@if165: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-7a0565b6779b state UP group default 
    link/ether 12:f4:1a:15:9b:82 brd ff:ff:ff:ff:ff:ff link-netnsid 9
    inet6 fe80::10f4:1aff:fe15:9b82/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
168: veth1a70d02@if167: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-7a0565b6779b state UP group default 
    link/ether ce:d4:d0:2e:1f:5a brd ff:ff:ff:ff:ff:ff link-netnsid 10
    inet6 fe80::ccd4:d0ff:fe2e:1f5a/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
170: vethe588d70@if169: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-99945d5fb90e state UP group default 
    link/ether 22:43:23:f6:1f:82 brd ff:ff:ff:ff:ff:ff link-netnsid 10
    inet6 fe80::2043:23ff:fef6:1f82/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
172: veth93cdf8e@if171: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-7a0565b6779b state UP group default 
    link/ether f2:76:39:82:05:93 brd ff:ff:ff:ff:ff:ff link-netnsid 11
    inet6 fe80::f076:39ff:fe82:593/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
174: vethf4bff53@if173: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-99945d5fb90e state UP group default 
    link/ether a2:81:10:a2:e2:f2 brd ff:ff:ff:ff:ff:ff link-netnsid 11
    inet6 fe80::a081:10ff:fea2:e2f2/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
175: vnet2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master virbr0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:ab:17:39 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:feab:1739/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever

I am using opensuse tumbleweed:

NAME="openSUSE Tumbleweed"
# VERSION="20241129"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20241129"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
# CPE 2.3 format, boo#1217921
CPE_NAME="cpe:2.3:o:opensuse:tumbleweed:20241129:*:*:*:*:*:*:*"
#CPE 2.2 format
#CPE_NAME="cpe:/o:opensuse:tumbleweed:20241129"
BUG_REPORT_URL="https://bugzilla.opensuse.org"
SUPPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed"
LOGO="distributor-logo-Tumbleweed"

Building the container in a vm with a fresh install of tumbleweed works. I hope you can help me to solve this issue.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.