Repository navigation
Can't set bridge network cidr block in Docker Engine config, UI throws /bip must match format "ipv4" #7104
Description
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: de40ad0docker 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 profileDiagnostics ID
ece62809-6eb6-4f65-8af9-3beb4b309f43/20231207222113
Additional Info
No response
Activity
charleycodes commentedon Jan 26, 2024
My team is experiencing the same issue on both version
4.26.1and the newest4.27.0. Downgraded to a version known to work for the time being (4.21.0).Matthammond96 commentedon Jan 28, 2024
I can confirm this issue is also true on the Windows. Downgrading to 4.21.0 resolved this issue.
ch4ox commentedon Feb 12, 2024
The same problem also happens for us with parameter "fixed-cidr" which we need on Windows to predefine the docker subnet for the containers:
Rolling back to version v4.25.2 fixes the issues.
minorling commentedon Feb 16, 2024
we encounter this issue on the mac studio M2 chip, and downgrading to 4.21.0 resolved this issue, too.
fmcwalters-edited commentedon Feb 28, 2024
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 thebipsetting - FYI it's192.168.224.1/20and it won't let me save unless I get rid of the/20even though it's exactly as it was before.ch4ox commentedon Mar 12, 2024
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.jsonfor Windows containers and%userprofile%\.docker\daemon.jsonfor 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...
smidge84 commentedon May 22, 2024
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 thebridgenetwork 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.
akerouanton commentedon Sep 18, 2024
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.