Skip to content
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

Docker for mac doesn't work on IPv6 network #1432

Open
bobrik opened this issue Mar 14, 2017 · 53 comments
Open

Docker for mac doesn't work on IPv6 network #1432

bobrik opened this issue Mar 14, 2017 · 53 comments

Comments

@bobrik
Copy link

bobrik commented Mar 14, 2017

Expected behavior

Docker for mac works on IPv6 network.

Actual behavior

Docker for mac doesn't work on IPv6 network.

Information

Documentation states: "IPv6 is not yet supported on Docker for Mac":

#704 links to some issues and there are many others mentioning IPv6, but all of them are closed like broken IPv6 is a normal state of affairs. This issue can be closed when either:

  • IPv6 works out of the box.
  • Documentations states that IPv6 will never be supported.

Steps to reproduce the behavior

  1. Install docker for mac on a machine with dual-stack network.
  2. Run a container, ping6 google.com in it.
  3. Despair.
@djs55
Copy link
Contributor

djs55 commented Mar 21, 2017

Thanks for your request for IPv6 support -- I've escalated it to the networking team.

@dfilatov
Copy link

@djs55 Is there any progress in supporting ipv6? It's an actual blocker for us :(

@djs55
Copy link
Contributor

djs55 commented Aug 11, 2017

There's been a little progress -- I recently fixed a bug in the IPv6 support within the Mirage TCP/IP stack which is used inside Docker for Mac. I think the next task is to configure the router discovery in vpnkit

@aaranmcguire
Copy link

Are you able to provide any update to this issue?

@docker-robott
Copy link
Collaborator

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale comment.
Stale issues will be closed after an additional 30d of inactivity.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so.

Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.
/lifecycle stale

@aaranmcguire
Copy link

/remove-lifecycle stale

@nikolaymatrosov
Copy link

Are there any updates?

@docker-robott
Copy link
Collaborator

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale comment.
Stale issues will be closed after an additional 30d of inactivity.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so.

Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.
/lifecycle stale

@boutetnico
Copy link

According to Google, IPv6 global usage has reached 25% (source: https://www.google.com/intl/en/ipv6/statistics.html?25%#tab=ipv6-adoption).
Maybe the "network team" could look into this again?
Let's embrace the future!

@aaranmcguire
Copy link

/remove-lifecycle stale

@aaranmcguire
Copy link

/lifecycle frozen

@alvassin
Copy link

alvassin commented Jul 14, 2019

Is still a big problem. Are there any news/plans on this issue?

dimaryaz added a commit to quiltdata/quilt that referenced this issue Jan 3, 2020
dimaryaz added a commit to quiltdata/quilt that referenced this issue Jan 3, 2020
@PhilETaylor
Copy link

Cant believe apps still ignore ipv6 in 2020... ipv6 is not the future, its actually now.

You can enable ipv6 on Docker on Linux...

Why not mac?

@mdavids
Copy link

mdavids commented Mar 22, 2020

According to Google, IPv6 global usage has reached 25%

That was 2 years ago. It's now little over 31%. But some countries are close to, or passed 50%.

@SiirRandall
Copy link

I agree needing to have IPv6 for macOS is a needed for me here.

@xsoheilalizadeh
Copy link

It would be great if we have some comments from team members, what are the challenges to have IPv6 support? Is there any blocking?

@cellulosa
Copy link

Any updates?

SteveMarshall added a commit to SteveMarshall/home-monitoring that referenced this issue Apr 24, 2023
[Docker for Mac doesn't support IPv6](docker/for-mac#1432),
so this stops the probes trying and failing. Specifically, the HTTP
probe for meet.google.com was failing. Why wasn't that falling back to
IPv4 when the others were,? Dunno. But here we are.
@akimrx
Copy link

akimrx commented Sep 19, 2023

up, when?

@SRv6d
Copy link

SRv6d commented Sep 20, 2023

For anyone looking for a more modern docker desktop experience with IPv6 support, OrbStack has worked great for me.

@spence
Copy link

spence commented Oct 3, 2023

For anyone looking for a more modern docker desktop experience with IPv6 support, OrbStack has worked great for me.

+1000 to this. Faster. Can't tell a difference.

Enable ipv6 in settings:
image

@VectorZhao
Copy link

Any updates?

@PhilETaylor
Copy link

PhilETaylor commented Nov 6, 2023

I think everyone here has moved to Orbstack.dev which provides (amongst other things) ipv6 out of the box - built by a single person, with impressive features and releases, performance and speed improvements.

I literally dont know a single developer still using Docker Desktop for Mac.

Even if Docker Desktop for Mac added ipv6 support today, I know I'll not be returning to use it. Unsubscribing this thread now also.

@maxpain
Copy link

maxpain commented Mar 6, 2024

any updates?

@mohit-zangoh
Copy link

Still no updates? 🙂

@bobrik
Copy link
Author

bobrik commented Apr 24, 2024

Please do not post "any updates?", it's not helping.

@No0ne
Copy link

No0ne commented Sep 25, 2024

Solved it by adding this at the beginning of docker-compose.yml:

networks:
  default:
    enable_ipv6: true

@djs55
Copy link
Contributor

djs55 commented Sep 26, 2024

We've been adding IPv6 support over the last several releases of Docker Desktop. The next release will have even better support. If you'd like to try a development build:

The new Settings / Resources / Network screen has new options:

Screenshot 2024-09-26 at 10 29 27

Dual stack v4/v6 is default, but you can switch to v4-only (if you have problems with partially-working v6 in your environment) or v6-only (it's the future)

Note by default (to avoid breaking changes to containers) in dual stack v4/v6 environments, docker networks don't have v6 addresses. To fix that, do what @No0ne has suggested above in compose, or use docker network create --ipv6. See the IPv6 documentation

@ekxs0109
Copy link

ekxs0109 commented Nov 12, 2024

We've been adding IPv6 support over the last several releases of Docker Desktop. The next release will have even better support. If you'd like to try a development build:

The new Settings / Resources / Network screen has new options:

Screenshot 2024-09-26 at 10 29 27

Dual stack v4/v6 is default, but you can switch to v4-only (if you have problems with partially-working v6 in your environment) or v6-only (it's the future)

Note by default (to avoid breaking changes to containers) in dual stack v4/v6 environments, docker networks don't have v6 addresses. To fix that, do what @No0ne has suggested above in compose, or use docker network create --ipv6. See the IPv6 documentation

What is the schedule for the official release?

@nickatduo
Copy link

We've been adding IPv6 support over the last several releases of Docker Desktop. The next release will have even better support. If you'd like to try a development build:

The new Settings / Resources / Network screen has new options:

Screenshot 2024-09-26 at 10 29 27

Dual stack v4/v6 is default, but you can switch to v4-only (if you have problems with partially-working v6 in your environment) or v6-only (it's the future)

Note by default (to avoid breaking changes to containers) in dual stack v4/v6 environments, docker networks don't have v6 addresses. To fix that, do what @No0ne has suggested above in compose, or use docker network create --ipv6. See the IPv6 documentation

Hi @djs55 these links are no longer available, returning at 403, can we get new artefacts that are?

@jeremy-preseem
Copy link

I second the question to @djs55 — I could really use a release, even if experimental, with IPv6 support on MacOS.

@nickatduo
Copy link

I reached out to Docker support and IPv6 is included in the latest 4.37.2 release, but behind a feature flag.

Add the following to ~/Library/Group\ Containers/group.com.docker/features-overrides.json

{
  "IPv6": {
    "enabled": true,
    "label": "",
    "name": ""
  }
}

And then restart Docker completely, not just the engine.

IPv6 will then be available.

@mridang
Copy link

mridang commented Jan 21, 2025

I reached out to Docker support and IPv6 is included in the latest 4.37.2 release, but behind a feature flag.

Add the following to ~/Library/Group\ Containers/group.com.docker/features-overrides.json

{
"IPv6": {
"enabled": true,
"label": "",
"name": ""
}
}
And then restart Docker completely, not just the engine.

IPv6 will then be available.

I can confirm that this worked. docker run -it --rm --privileged --pid=host justincormack/nsenter1 -- "ping6 2001:4860:4860::8888". I just need to figure out how to tweak the K8 CNI now.

@rjpcasalino
Copy link

rjpcasalino commented Jan 26, 2025

Thanks, & IPv6 in Docker by default! Let's put IPv4 to bed, people!

@ssolders
Copy link

ssolders commented Feb 6, 2025

Adding solution for our use case in case someone runs into the same issue.
We have our micro-services running in docker, proxied via nginx (also running in docker), everything setup with a docker-compose.yml

Docker version: 27.5.1
Docker desktop version: 4.38 (also verified with 4.37)

When using it with mac all requests took minimum 5s until IPv6 failed and used fallback to IPv4.
Verified this using cURL against a simple health-check endpoint in our application:

time curl http://mydomain.local/api/health -> would resolve in 5s+
time curl -v6 http://mydomain.local/api/health -> would resolve in 5s+
time curl -v4 http://mydomain.local/api/health -> would resolve in ~10ms

Managed to get it to work by

Updating docker-compose.yml

networks:
  default:
    enable_ipv6: true

nginx.conf

server {
    listen      80; 
    listen [::]:80; # added this to also listen to IPv6
    server_name mydomain.local;
    resolver    127.0.0.11;

local host file

# ::1 to listen to IPv6
::1 mydomain.local
127.0.0.1 mydomain.local

@joshhalley
Copy link

joshhalley commented Feb 11, 2025

I applied the config shared on version 4.37.2 - which initially worked great, menu exposed itself with the V6 options, and I could run v6 containers.

After upgrading to Sequoia (15.3) seems the new image broke the v6 fix, docker desktop won't even launch anymore. Anybody else facing this issue?

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

No branches or pull requests