-
Notifications
You must be signed in to change notification settings - Fork 18.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dockerd fails to start with --iptables=false --ip6tables
#46467
Comments
Could you elaborate on why you want |
I want to manually control IPv4 rules but I'm OK with Docker controlling the IPv6 rules. |
Can you elaborate on why? Is it due to some issues you face with the iptables rules Docker creates? |
Oh! Looks like I missed that a discussion was happening here as well; I left some comments related to this in #46468 (comment) |
I'm mostly experimenting right now. I'm working on adding some outgoing NAT rule unit tests in preparation for fixing feature request #46469, and noticed this issue. I didn't expect it to be so controversial. One reason to disable iptables (IPv4) but enable ip6tables (IPv6) is running multiple Docker daemons, where only one of the daemons does IPv6. |
(@thaJeztah I'm moving the conversation in #46468 (comment) here because deciding the semantics of the
Agreed. Regardless of the decision reached, I think the documentation for the
In a way we are in a greenfield state right now. Passing
That last bullet point is the tough one. The current output of
Reasonable users could interpret "Enable addition of iptables rules" to mean either IPv4 rules alone or both IPv4 and IPv6 rules. (I believe most users will interpret it to mean only IPv4 rules, especially after contrasting the ProposalsTo ground the conversation, here are some specific proposals. Both of these are backwards compatible. These aren't the only options; they're just the best ones I could immediately think of. Option 1:
|
I think both these flags are pretty terrible. Since |
Description
When started with
--iptables=false
and--ip6tables
,dockerd
fails with:Reproduce
Expected behavior
dockerd
should start, and create IPv6 rules but not IPv4 rules.docker version
Client: Docker Engine - Community Version: 24.0.6 API version: 1.43 Go version: go1.20.7 Git commit: ed223bc Built: Mon Sep 4 12:31:44 2023 OS/Arch: linux/amd64 Context: default Server: Docker Engine - Community Engine: Version: 24.0.6 API version: 1.43 (minimum version 1.12) Go version: go1.20.7 Git commit: 1a79695 Built: Mon Sep 4 12:31:44 2023 OS/Arch: linux/amd64 Experimental: true containerd: Version: 1.6.22 GitCommit: 8165feabfdfe38c65b599c4993d227328c231fca runc: Version: 1.1.8 GitCommit: v1.1.8-0-g82f18fe docker-init: Version: 0.19.0 GitCommit: de40ad0
docker info
Additional Info
The following change should fix it (I'll open a pull request after I write a regression test):
The text was updated successfully, but these errors were encountered: