Skip to content

Can't set bridge network cidr block in Docker Engine config, UI throws /bip must match format "ipv4" #7104

Closed

Description

@DCardenasAmp

Description

Hi, I'd like to configure the bridge network cidr block through the Docker Engine UI, but this seems broken in a couple of ways.

Initially, I want to set the docker config to the following (which worked on an older version of Docker Desktop)

{
  "bip": "10.128.129.1/24",
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  }
}

However, the UI prevents me from saving this config, and shows me the following error: /bip must match format "ipv4"

So to get past this error, I modified the config to be the following:

{
  "bip": "10.128.129.1",
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  }
}

And Docker Desktop allows me to save that and restart. However, at this point Docker Engine freezes and is never able to start up.

Looking at ~/Library/Containers/com.docker.docker/Data/log/vm/dockerd.log, I see dockerd fails to start and throws the following error:

[2023-12-07T22:21:11.877621061Z][dockerd][I] failed to start daemon: Error initializing network controller: invalid CIDR address: 10.128.129.1
[2023-12-07T22:21:11.883793012Z][dockerd][I] EOF

The only way forward at this point is to edit ~/.docker/daemon.json to set bip to 10.128.129.1/24, like my initial config attempted to do. This config allows docker desktop to start successfully and configures the bridge network correctly.

Reproduce

Try to set the Docker Engine config to

{
  "bip": "10.128.129.1/24",
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  }
}

and then try to save this config:

{
  "bip": "10.128.129.1",
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  }
}

Expected behavior

No response

docker version

Client:
 Cloud integration: v1.0.35+desktop.5
 Version:           24.0.7
 API version:       1.43
 Go version:        go1.20.10
 Git commit:        afdd53b
 Built:             Thu Oct 26 09:04:20 2023
 OS/Arch:           darwin/amd64
 Context:           desktop-linux

Server: Docker Desktop 4.26.0 (130397)
 Engine:
  Version:          24.0.7
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.10
  Git commit:       311b9ff
  Built:            Thu Oct 26 09:08:02 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.25
  GitCommit:        d8f198a4ed8892c764191ef7b3b06d8a2eeb5c7f
 runc:
  Version:          1.1.10
  GitCommit:        v1.1.10-0-g18a0cb0
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info

Client:
 Version:    24.0.7
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.12.0-desktop.2
    Path:     /Users/danielcardenas/.docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.23.3-desktop.2
    Path:     /Users/danielcardenas/.docker/cli-plugins/docker-compose
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.0
    Path:     /Users/danielcardenas/.docker/cli-plugins/docker-dev
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.21
    Path:     /Users/danielcardenas/.docker/cli-plugins/docker-extension
  feedback: Provide feedback, right in your terminal! (Docker Inc.)
    Version:  0.1
    Path:     /Users/danielcardenas/.docker/cli-plugins/docker-feedback
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v0.1.0-beta.10
    Path:     /Users/danielcardenas/.docker/cli-plugins/docker-init
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     /Users/danielcardenas/.docker/cli-plugins/docker-sbom
  scan: Docker Scan (Docker Inc.)
    Version:  v0.26.0
    Path:     /Users/danielcardenas/.docker/cli-plugins/docker-scan
  scout: Docker Scout (Docker Inc.)
    Version:  v1.2.0
    Path:     /Users/danielcardenas/.docker/cli-plugins/docker-scout

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 24.0.7
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: d8f198a4ed8892c764191ef7b3b06d8a2eeb5c7f
 runc version: v1.1.10-0-g18a0cb0
 init version: de40ad0
 Security Options:
  seccomp
   Profile: unconfined
  cgroupns
 Kernel Version: 6.5.11-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 7.763GiB
 Name: docker-desktop
 ID: 855e1e24-f1d1-4abf-9c73-668d5af712ec
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: daemon is not using the default seccomp profile

Diagnostics ID

ece62809-6eb6-4f65-8af9-3beb4b309f43/20231207222113

Additional Info

No response

Activity

  1. charleycodes commented on Jan 26, 2024

    @charleycodes

    My team is experiencing the same issue on both version 4.26.1 and the newest 4.27.0. Downgraded to a version known to work for the time being (4.21.0).

  2. Matthammond96 commented on Jan 28, 2024

    @Matthammond96

    I can confirm this issue is also true on the Windows. Downgrading to 4.21.0 resolved this issue.

  3. ch4ox commented on Feb 12, 2024

    @ch4ox

    The same problem also happens for us with parameter "fixed-cidr" which we need on Windows to predefine the docker subnet for the containers:

    image

    Rolling back to version v4.25.2 fixes the issues.

  4. minorling commented on Feb 16, 2024

    @minorling

    we encounter this issue on the mac studio M2 chip, and downgrading to 4.21.0 resolved this issue, too.

  5. fmcwalters-edited commented on Feb 28, 2024

    @fmcwalters-edited

    I get this error on Docker Desktop v4.28.0 for Mac when I try to edit "insecure-registries" and save the config - I'm not even touching the bip setting - FYI it's 192.168.224.1/20 and it won't let me save unless I get rid of the /20 even though it's exactly as it was before.

  6. ch4ox commented on Mar 12, 2024

    @ch4ox

    Well, this error doesn't seem to have a high priority unfortunately.

    For Windows I was able to "fix" this outside Docker by editing the config files directly, which are:
    %userprofile%\.docker\windows-daemon.json for Windows containers and
    %userprofile%\.docker\daemon.json for Linux containers.

    Just shutdown Docker completely and make your changes there. Then restart Docker and it will accept the new changes made.

    Hope this error will be addressed in the future...

  7. smidge84 commented on May 22, 2024

    @smidge84

    I also have just attempted to installed Docker Desktop for Mac v4.30.0 (Docker engine v26.1.1) and have encountered the same issue. I am using a Macbook Pro M3.

    Providing just an IP address to satisfy the formatting results in the Docker engine failing to start.

    I can confirm that the suggestion mentioned in the initial post, which was to manually set the value in ~/.docker/daemon.json, does work and changes the IP and subnet of the bridge network if you fully stop Docker, edit the file and the start Docker again.

    This suggests that the configuration is still valid for the Docker Engine and the issue is with the UI forcing an incompatible value.

  8. akerouanton commented on Sep 18, 2024

    @akerouanton
    Member

    This issue was fixed in v4.33, so I'll close this ticket.

    Feel free to continue the discussion, or open a new ticket if you think there's still a bug somewhere.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions