Docker For Mac Docker Subnet
Docker Compose File for MacVLAN Network Driver ( Single Node) - docker-compose.yml.
Estimated reading time: 3 minutesDocker Desktop for Mac provides several networking features to make iteasier to use.
Features
VPN Passthrough
Docker Desktop for Mac’s networking can work when attached to a VPN. To do this,Docker Desktop for Mac intercepts traffic from the containers and injects it intoMac as if it originated from the Docker application.
Port Mapping
When you run a container with the -p
argument, for example:
Docker Desktop for Mac makes whatever is running on port 80 in the container (inthis case, nginx
) available on port 80 of localhost
. In this example, thehost and container ports are the same. What if you need to specify a differenthost port? If, for example, you already have something running on port 80 ofyour host machine, you can connect the container to a different port:
Now, connections to localhost:8000
are sent to port 80 in the container. Thesyntax for -p
is HOST_PORT:CLIENT_PORT
.
HTTP/HTTPS Proxy Support
See Proxies.
Known limitations, use cases, and workarounds
Following is a summary of current limitations on the Docker Desktop for Macnetworking stack, along with some ideas for workarounds.
There is no docker0 bridge on macOS
Because of the way networking is implemented in Docker Desktop for Mac, you cannot see adocker0
interface on the host. This interface is actually within the virtualmachine.
I cannot ping my containers
Docker Desktop for Mac can’t route traffic to containers.
Per-container IP addressing is not possible
The docker (Linux) bridge network is not reachable from the macOS host.
Use cases and workarounds
There are two scenarios that the above limitations affect:
I want to connect from a container to a service on the host
The host has a changing IP address (or none if you have no network access). From18.03 onwards our recommendation is to connect to the special DNS namehost.docker.internal
, which resolves to the internal IP address used by thehost.This is for development purpose and will not work in a production environment outside of Docker Desktop for Mac.
The gateway is also reachable as gateway.docker.internal
.
I want to connect to a container from the Mac
Port forwarding works for localhost
; --publish
, -p
, or -P
all work.Ports exposed from Linux are forwarded to the host.
Our current recommendation is to publish a port, or to connect from anothercontainer. This is what you need to do even on Linux if the container is on anoverlay network, not a bridge network, as these are not routed.
The command to run the nginx
webserver shown in Getting Startedis an example of this.
To clarify the syntax, the following two commands both expose port 80
on thecontainer to port 8000
on the host:
To expose all ports, use the -P
flag. For example, the following commandstarts a container (in detached mode) and the -P
exposes all ports on thecontainer to random ports on the host.
See the run command for more details onpublish options used with docker run
.
This page contains information about the new features, improvements, known issues, and bug fixes in Docker Desktop Stable releases.
For information about Edge releases, see the Edge release notes. For Docker Desktop system requirements, seeWhat to know before you install.
Docker Desktop Community 2.2.0.3
2020-02-11
Upgrades
Docker Desktop Community 2.2.0.0
2020-01-21
Docker Desktop 2.2.0.0 contains a Kubernetes upgrade. Your local Kubernetes cluster will be reset after installing this version.
Upgrades
- Linux kernel 4.19.76
New
Docker Desktop Dashboard: The new Docker Desktop Dashboard provides a user-friendly interface which enables you to interact with containers and applications, and manage the lifecycle of your applications directly from the UI. In addition, it allows you to access the logs, view container details, and monitor resource utilization to explore the container behavior.For detailed information about the new Dashboard UI, see Docker Desktop Dashboard.
- Introduced a new user interface for the Docker Desktop Preferences menu.
- The Restart, Reset, and Uninstall options are now available on the Troubleshoot menu.
- Added the ability to start and stop existing Compose-based applications and view combined logs in the Docker Desktop Dashboard UI.
Bug fixes and minor changes
- Added missing completions for the
fish
shell for Docker Compose. Fixes docker/for-mac#3795. - Fixed a bug that did not allow users to copy and paste text in the Preferences > Daemon window. Fixes docker/for-mac#3798.
- Added support for
Expect: 100-continue
headers in the Docker API proxy. Some HTTP clients such ascurl
send this header when the payload is large, for example, when creating containers. Fixes moby/moby#39693. - Added a loading overlay to the Settings and Troubleshoot windows to prevent editing conflicts.
- Deactivated the Reset Kubernetes button when Kubernetes is not activated.
- Improved the navigation in Settings and Troubleshoot UI.
- Fixed a bug in the UEFI boot menu that sometimes caused Docker Desktop to hang during restart. Fixes docker/for-mac#2655 and docker/for-mac#3921.
- Docker Desktop now allows users to access the host’s SSH agent inside containers. Fixes docker/for-mac#410
- Docker Machine is no longer included in the Docker Desktop installer. You can download it separately from the Docker Machine releases page.
- Fixed an issue that caused VMs running on older hardware with macOS Catalina to fail on startup with the error
processor does not support desired secondary processor-based controls
. - Fixed port forwarding when containers are using
overlay
networks. - Fixed a container start error when a container has more than one port with an arbitrary or not-yet-configured external port number. For example,
docker run -p 80 -p 443 nginx
. Fixes docker/for-win#4935 and docker/compose#6998. - Fixed an issue that occurs when sharing overlapping directories.
- Fixed a bug that prevented users from changing the location of the VM disk image.
- Docker Desktop does not inject
inotify
events on directories anymore as these can cause mount points to disappear inside containers. Fixes docker/for-mac#3976. - Fixed an issue that caused Docker Desktop to fail on startup when there is an incomplete Kubernetes config file.
- Fixed an issue where attempts to log into Docker through Docker Desktop could sometimes fail with the
Incorrect authentication credentials
error. Fixes docker/for-mac#4010.
Known issues
When you start a Docker Compose application and then start a Docker App which has the same name as the Compose application, Docker Desktop displays only one application on the Dashboard. However, when you expand the application, containers that belong to both applications are displayed on the Dashboard.
When you deploy a Docker App with multiple containers on Kubernetes, Docker Desktop displays each Pod as an application on the Dashboard.
Docker Desktop Community 2.1.0.5
2019-11-18
Docker Desktop 2.1.0.5 contains a Kubernetes upgrade. Note that your local Kubernetes cluster will be reset after installing this version.
Upgrades
Docker Desktop Community 2.1.0.4
2019-10-21
Upgrades
New
Docker Desktop now enables you to sign into Docker Hub using two-factor authentication. For more information, see Two-factor authentication.
Docker Desktop Community 2.1.0.3
2019-09-16
Upgrades
Bug fixes and minor changes
- All binaries included in Docker Desktop are now notarized so that they can run on macOS Catalina. For more information, see Notarization Requirement for Mac Software.
Docker Desktop Community 2.1.0.2
2019-09-04
Docker Desktop 2.1.0.2 contains a Kubernetes upgrade. Note that your local Kubernetes cluster will be reset after installing this version.
Upgrades
Docker Desktop Community 2.1.0.1
2019-08-08
Note that you must sign in and create a Docker ID in order to download Docker Desktop.
Upgrades
- Linux Kernel 4.9.184
- Qemu 4.0.0 for cross compiling for ARM
New
- Selecting the ‘Experimental features’ checkbox in the Daemon Preferences menu turns on experimental features for Docker daemon and Docker CLI.
- Improved the reliability of
com.docker.osxfs trace
performance profiling command. Users can now run thecom.docker.osxfs trace --summary
option for a high-level summary of operations, instead of receiving a trace of all operations. - Docker Desktop now supports large lists of DNS resource records on Mac. Fixes docker/for-mac#2160.
Experimental
Experimental features provide early access to future product functionality. These features are intended for testing and feedback only as they may change between releases without warning or can be removed entirely from a future release. Experimental features must not be used in production environments. Docker does not offer support for experimental features.
Docker Desktop Community 2.1.0.0 contains the following experimental features.
- Docker App: Docker App is a CLI plugin that helps configure, share, and install applications. For more information, see Working with Docker App.
- Docker Buildx: Docker Buildx is a CLI plugin for extended build capabilities with BuildKit. For more information, see Working with Docker Buildx.
Bug fixes and minor changes
- Docker Desktop now allows users to expose privileged UDP ports. docker/for-mac#3775
- Fixed an issue where running some Docker commands can fail if you are not using Credential Helpers. docker/for-mac#3785
- Changed the host’s kubernetes context so that
docker run -v .kube:kube .. kubectl
works. - Restricted the
cluster-admin
role on local Kubernetes cluster tokube-system
namespace. - Reduced the VM startup time. swap is not created every time a virtual machine boots.
- Fixed Kubernetes installation with VPNkit subnet.
- Fixed a bug where the process output was not redirected to stdout when gathering diagnostics on Windows, which sometimes resulted in a crash.
- Added
/etc/machine-id
to the virtual machine. Fixes docker/for-mac#3554. - Docker Desktop does not send DNS queries for
docker-desktop.<domain>
every 10s. It now relies on the host’s DNS domain search order rather than trying to replicate it inside the VM. - Removed the ability to log in using email address as a username as the Docker command line does not support this.
- Docker Desktop now allows running a Docker registry inside a container. Fixes docker/for-mac#3611.
- Fixed a stability issue with the DNS resolver.
- Docker Desktop truncates UDP DNS responses which are over 512 bytes in sizes.
- Fixed port 8080 that was used on localhost when starting Kubernetes. Fixes docker/for-mac#3522.
- Improved error messaging: Docker Desktop does not prompt users to run diagnostics, or to reset to factory default when it is not appropriate.
- Kubernetes: Docker Desktop now uses the default maximum number of pods for kubelet. docker/for-mac#3453.
- Fixed DockerHelper crash. docker/for-mac#3470.
- Fixed binding of privileged ports with specified IP. docker/for-mac#3464
- Fixed service log collection in diagnostics.
- Docker Desktop now gathers
/etc/hosts
to help with diagnostics. - When two services have a common exposed port, Docker Desktop now exposes the available ports for the second service. docker/for-mac#3438.
- Docker Desktop ensures localhost resolves to 127.0.0.1. This is related to docker/for-mac#2990, docker/for-mac#3383.
Docker Community Edition 2.0.0.3 2019-02-15
- Upgrades
- Docker 18.09.2, fixes CVE-2019-5736
Docker Community Edition 2.0.0.2 2019-01-16
- Upgrades
- Kubernetes 1.10.11, fixes CVE-2018-1002105
- Golang 1.10.6, fixes CVEs: CVE-2018-16875, CVE-2018-16873 and CVE-2018-16874
- Bug fixes and minor changes
- Add 18.09 missing daemon options
Stable Releases of 2018
Docker Community Edition 2.0.0.0-mac81 2018-12-07
- Upgrades
Docker Community Edition 2.0.0.0-mac78 2018-11-19
- Upgrades
- Linux Kernel 4.9.125
- New
- New version scheme
- Deprecation
- Removed support of AUFS
- Removed support of OSX 10.11
- Bug fixes and minor changes
- Fix appearance in dark mode for OSX 10.14 (Mojave)
- VPNKit: Improved scalability of port forwarding. Related to docker/for-mac#2841
- VPNKit: Limit the size of the UDP NAT table. This ensures port forwarding and regular TCP traffic continue even when running very chatty UDP protocols.
- Ensure Kubernetes can be installed when using a non-default internal IP subnet.
- Fix panic in diagnose
Docker Community Edition 18.06.1-ce-mac73 2018-08-29
- Upgrades
- Bug fixes and minor changes
- Fix local DNS failing to resolve inside containers.
Docker Community Edition 18.06.0-ce-mac70 2018-07-25
- Upgrades
- Linux Kernel 4.9.93 with CEPH, DRBD, RBD, MPLS_ROUTING and MPLS_IPTUNNEL enabled
- New
- Kubernetes Support. You can now run a single-node Kubernetes cluster from the “Kubernetes” Pane in Docker For Mac Preferences and use kubectl commands as well as docker commands. See https://docs.docker.com/docker-for-mac/kubernetes/
- Add an experimental SOCKS server to allow access to container networks, see docker/for-mac#2670. Also see docker/for-mac#2721
- Re-enable raw as the default disk format for users running macOS 10.13.4 and higher. Note this change only takes effect after a “reset to factory defaults” or “remove all data” (from the Whale menu -> Preferences -> Reset). Related to docker/for-mac#2625
- Bug fixes and minor changes
- AUFS storage driver is deprecated in Docker Desktop and AUFS support will be removed in the next major release. You can continue with AUFS in Docker Desktop 18.06.x, but you will need to reset disk image (in Preferences > Reset menu) before updating to the next major update. You can check documentation to save images and backup volumes
- OS X El Captain 10.11 is deprecated in Docker Desktop. You will not be able to install updates after Docker Desktop 18.06.x. We recommend upgrading to the latest version of macOS.
- Fix bug which would cause VM logs to be written to RAM rather than disk in some cases, and the VM to hang. See docker/for-mac#2984
- Fix network connection leak triggered by haproxy TCP health-checks docker/for-mac#1132
- Better message to reset vmnetd when it’s disabled. See docker/for-mac#3035
- Fix VPNKit memory leak. Fixes moby/vpnkit#371
- Virtual Machine default disk path is stored relative to $HOME. Fixes docker/for-mac#2928, docker/for-mac#1209
- Use Simple NTP to minimise clock drift between the VM and the host. Fixes docker/for-mac#2076
- Fix a race between calling stat on a file and calling close of a file descriptor referencing the file that could result in the stat failing with EBADF (often presented as “File not found”). Fixes docker/for-mac#2870
- Do not allow install of Docker for Mac on macOS Yosemite 10.10, this version is not supported since Docker for Mac 17.09.0.
- Fix button order in reset dialog windows. Fixes docker/for-mac#2827
- Fix upgrade straight from pre-17.12 versions where Docker for Mac cannot restart once the upgrade has been performed. Fixes docker/for-mac#2739
- Added log rotation for docker-ce logs inside the virtual machine.
Docker Community Edition 18.03.1-ce-mac65 2018-04-30
- Upgrades
- Bug fixes and minor changes
- Fix Docker for Mac not starting due to socket file paths being too long (typically HOME folder path being too long). Fixes docker/for-mac#2727, docker/for-mac#2731.
Docker Community Edition 18.03.1-ce-mac64 2018-04-26
- Upgrades
- Bug fixes and minor changes
- Fix Docker for Mac not starting due to socket file paths being too long (typically HOME folder path being too long). Fixes docker/for-mac#2727, docker/for-mac#2731.
Docker Community Edition 18.03.0-ce-mac60 2018-03-30
- Bug fixes and minor changes
- Fix Upgrade straight from 17.09 versions where Docker for Mac cannot restart once the upgrade has been performed. Fixes docker/for-mac#2739
Docker Community Edition 18.03.0-ce-mac59 2018-03-26
- Upgrades
- Linux Kernel 4.9.87
- AUFS 20180312
- New
- VM Swap size can be changed in settings. See docker/for-mac#2566, docker/for-mac#2389
- New menu item to restart Docker.
- Support NFS Volume sharing.
- The directory holding the disk images has been renamed (from
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux
to ~/Library/Containers/com.docker.docker/Data/vms/0`).
- Bug fixes and minor changes
- Fix daemon not starting properly when setting TLS-related options. Fixes docker/for-mac#2663
- DNS name
host.docker.internal
should be used for host resolution from containers. Older aliases (still valid) are deprecated in favor of this one. (See https://tools.ietf.org/html/draft-west-let-localhost-be-localhost-06). - Fix for the HTTP/S transparent proxy when using “localhost” names (e.g.
host.docker.internal
). - Fix empty registry added by mistake in some cases in the Preference Daemon Pane. Fixes docker/for-mac#2537
- Clearer error message when incompatible hardware is detected.
- Fix some cases where selecting “Reset” after an error did not reset properly.
- Fix incorrect NTP config. Fixes docker/for-mac#2529
- Migration of Docker Toolbox images is not proposed anymore in Docker For Mac installer (still possible to migrate Toolbox images manually ).
Docker Community Edition 17.12.0-ce-mac55 2018-02-27
- Bug fixes and minor changes
- Revert the default disk format to qcow2 for users running macOS 10.13 (High Sierra). There are confirmed reports of file corruption using the raw format which uses sparse files on APFS. Note this change only takes effect after a reset to factory defaults (from the Whale menu -> Preferences -> Reset). Related to docker/for-mac#2625
- Fix VPNKit proxy for docker.for.mac.http.internal.
Docker Community Edition 17.12.0-ce-mac49 2018-01-19
- Bug fixes and minor changes
- Fix error during resize/create Docker.raw disk image in some cases. Fixes docker/for-mac#2383, docker/for-mac#2447, [docker/for-mac#2453], (https://github.com/docker/for-mac/issues/2453), docker/for-mac#2420
- Fix additional allocated disk space not available in containers. Fixes docker/for-mac#2449
- Vpnkit port max idle time default restored to 300s. Fixes docker/for-mac#2442
- Fix using an HTTP proxy with authentication. Fixes docker/for-mac#2386
- Allow HTTP proxy excludes to be written as .docker.com as well as *.docker.com
- Allow individual IP addresses to be added to HTTP proxy excludes.
- Avoid hitting DNS timeouts when querying docker.for.mac.* when the upstream DNS servers are slow or missing.
Docker Community Edition 17.12.0-ce-mac47 2018-01-12
- Bug fixes and minor changes
- Fix for
docker push
to an insecure registry. Fixes docker/for-mac#2392 - Separate internal ports used to proxy HTTP and HTTPS content.
- Fix for
Docker Community Edition 17.12.0-ce-mac46 2018-01-09
- Upgrades
- Linux Kernel 4.9.60
- New
- VM entirely built with Linuxkit
- VM disk size can be changed in disk preferences. (See docker/for-mac#1037)
- For systems running APFS on SSD on High Sierra, use
raw
format VM disks by default. This improves disk throughput (from 320MiB/sec to 600MiB/sec indd
on a 2015 MacBook Pro) and disk space handling.Existing disks are kept in qcow format, if you want to switch to raw format you need to “Remove all data” or “Reset to factory defaults”. See https://docs.docker.com/docker-for-mac/faqs/#disk-usage - DNS name
docker.for.mac.host.internal
should be used instead ofdocker.for.mac.localhost
(still valid) for host resolution from containers, since since there is an RFC banning the use of subdomains of localhost. See https://tools.ietf.org/html/draft-west-let-localhost-be-localhost-06.
- Bug fixes and minor changes
- Display various component versions in About box.
- Avoid VM reboot when changing host proxy settings.
- Don’t break HTTP traffic between containers by forwarding them via the external proxy. (See docker/for-mac#981)
- Filesharing settings are now stored in settings.json.
- Daemon restart button has been moved to settings / Reset Tab.
- Better VM state handling & error messages in case of VM crashes.
- Fix login into private repository with certificate issue. (See docker/for-mac#2201)
Stable Releases of 2017
Docker Community Edition 17.09.1-ce-mac42 2017-12-11
- Upgrades
- Bug fixes and minor changes
- Fix bug not allowing to move qcow disk in some cases.
Docker Community Edition 17.09.0-ce-mac35 2017-10-06
- Bug fix
- Fix Docker For Mac unable to start in some cases : removed use of libgmp sometimes causing the vpnkit process to die.
Docker Community Edition 17.09.0-ce-mac33 2017-10-03
- Bug fix
- Do not show Toolbox migration assistant when there are existing Docker For Mac data.
Docker Community Edition 17.09.0-ce-mac32 2017-10-02
- Upgrades
- Linux Kernel 4.9.49
- AUFS 20170911
- DataKit update (fix instability on High Sierra)
- New
- Add daemon options validation
- VPNKit: add support for ping!
- VPNKit: add slirp/port-max-idle-timeout to allow the timeout to be adjusted or even disabled
- VPNKit: bridge mode is default everywhere now
- Transparent proxy using macOS system proxies (if defined) directly
- GUI settings are now stored in ~/Library/Group Containers/group.com.docker/settings.json. daemon.json in now a file in ~/.docker/
- You can now change the default IP address used by Hyperkit if it collides with your network
- Bug fixes and minor changes
- Fix instability on High Sierra (docker/for-mac#2069, docker/for-mac#2062, docker/for-mac#2052, docker/for-mac#2029, docker/for-mac#2024)
- Fix password encoding/decoding (docker/for-mac#2008, docker/for-mac#2016, docker/for-mac#1919, docker/for-mac#712, docker/for-mac#1220).
- Kernel: Enable TASK_XACCT and TASK_IO_ACCOUNTING (docker/for-mac#1608)
- Rotate logs in the VM more often
- VPNKit: change protocol to support error messages reported back from the server
- VPNKit: fix a bug which causes a socket to leak if the corresponding TCP connection is idlefor more than 5 minutes (related to docker/for-mac#1374)
- VPNKit: improve the logging around the Unix domain socket connections
- VPNKit: automatically trim whitespace from int or bool database keys
- Diagnose can be cancelled & Improved help information. Fixes docker/for-mac#1134, docker/for-mac#1474
- Support paging of docker-cloud repositories & orgs. Fixes docker/for-mac#1538
Docker Community Edition 17.06.2-ce-mac27 2017-09-06
- Upgrades
Docker Community Edition 17.06.1-ce-mac24, 2017-08-21
Upgrades
- Linux Kernel 4.9.36
- AUFS 20170703
Bug fixes and minor changes
DNS Fixes. Fixes docker/for-mac#1763, docker/for-mac#1811, docker/for-mac#1803
Avoid unnecessary VM reboot (when changing proxy exclude, but no proxy set). Fixes docker/for-mac#1809, docker/for-mac#1801
Docker Community Edition 17.06.0-ce-mac18, 2017-06-28
Upgrades
- qcow-tool v0.10.0 (improve the performance of
compact
: mirage/ocaml-qcow#94) - OSX Yosemite 10.10 is marked as deprecated
- Linux Kernel 4.9.31
New
- Integration with Docker Cloud: control remote Swarms from the local CLI and view your repositories.
- GUI Option to opt out of credential store
- GUI option to reset Docker data without losing all settings (fixes docker/for-mac#1309)
- Add an experimental DNS name for the host:
docker.for.mac.localhost
- Support for client (i.e. “login”) certificates for authenticating registry access (fixes docker/for-mac#1320)
- OSXFS: support for
cached
mount flag to improve performance of macOS mounts when strict consistency is not necessary
Bug fixes and minor changes
- Resync HTTP(S) proxy settings on application start
- Interpret system proxy setting of
localhost
correctly (see docker/for-mac#1511) - All Docker binaries bundled with Docker for Mac are now signed
- Display all Docker Cloud organizations and repositories in the whale menu (fixes docker/for-mac#1538 )
- OSXFS: improved latency for many common operations, such as read and write, by approximately 25%
- Fixed GUI crash when text table view was selected and windows re-opened (fixes docker/for-mac#1477)
- Reset to default / uninstall also remove
config.json
andosxkeychain
credentials - More detailed VirtualBox uninstall requirements ( docker/for-mac#1343)
- Request time sync after waking up to improve docker/for-mac#17
- VPNKit: Improved DNS timeout handling (fixes docker/for-mac#202)
- VPNKit: Use DNSServiceRef API by default (only enabled for new installs or after factory reset)
- Add a reset to factory defaults button when application crashes
- Toolbox import dialog now defaults to “Skip”
- Buffered data should be treated correctly when Docker client requests are upgraded to raw streams
- Removed an error message from the output related to experimental features handling
vmnetd
should not crash when user home directory is on an external drive- Improved settings database schema handling
- Disk trimming should work as expected
- Diagnostics now contains more settings data
Docker Community Edition 17.03.1-ce-mac12, 2017-05-12
Upgrades
- Security fix for CVE-2017-7308
Docker Community Edition 17.03.1-ce-mac5, 2017-03-29
Upgrades
Docker Community Edition 17.03.0-ce-mac1, 2017-03-02
New
- Renamed to Docker Community Edition
- Integration with Docker Cloud: control remote Swarms from the local CLI and view your repositories. This feature is going to be rolled out to all users progressively
- Docker will now securely store your IDs in the macOS keychain
Upgrades
- Linux kernel 4.9.12
Bug fixes and minor changes
- Allow to reset faulty daemon.json through a link in advanced subpanel
- More options when moving disk image
- Add link to experimental features
- Filesharing and daemon table empty fields are editable
- Hide restart button in settings window
- Fix bug where update window hides when app not focused
- Don’t use port 4222 inside the Linux VM
- Add page_poison=1 to boot args
- Add a new disk flushing option
- DNS forwarder ignores responses from malfunctioning servers (docker/for-mac#1025)
- DNS forwarder send all queries in parallel, process results in order
- DNS forwarder includes servers with zones in general searches (docker/for-mac#997)
- Parses aliases from /etc/hosts (docker/for-mac#983)
- Can resolve DNS requests via servers listed in the /etc/resolver directory on the host
- Limit vCPUs to 64
- Fixed for swap not being mounted
- Fixed aufs xattr delete issue (docker/docker#30245)
- osxfs: Catch EPERM when reading extended attributes of non-files
- VPNKit: Fixed unmarshalling of DNS packets containing pointers to pointers to labels
- VPNKit: Set the Recursion Available bit on DNS responses from the cache
- VPNKit: Avoid diagnostics to capture too much data
- VPNKit: Fixed a source of occasional packet loss (truncation) on the virtual ethernet link
- HyperKit: Dump guest physical and linear address from VMCS when dumping state
- HyperKit: Kernel boots with panic=1 arg
Docker for Mac 1.13.1, 2017-02-09
Upgrades
- Linux kernel 4.9.8
Bug fixes and minor changes
- Add link to experimental features
- New 1.13 cancellable operations should now be properly handled by the Docker for desktop
daemon.json
should render nicely in the UI- Allow to reset faulty
daemon.json
through a link in advanced subpanel
Docker for Mac 1.13.0, 2017-01-19
Upgrades
- Linux kernel 4.9.4
- qcow-tool 0.7.2
New
- The storage location of the Linux volume can now be moved
- Reclaim disk size on reboot
- You can now edit filesharing paths
- Memory can be allocated with 256 MiB steps
- Proxy can now be completely disabled
- Support for arm, aarch64, ppc64le architectures using qemu
- Dedicated preference pane for advanced configuration of thedocker daemon (edit
daemon.json
) - Docker Experimental mode can be toggled
- Better support for Split DNS VPN configurations
- Use more DNS servers, respect order
Bug fixes and minor changes
- You cannot edit settings while docker is restarting
- Support Copy/Paste in About box
- Auto update polling every 24h
- Kernel boots with vsyscall=emulate arg and CONFIG_LEGACY_VSYSCALL is set to NONE in Moby
- Fixed vsock deadlock under heavy write load
- If you opt-out of analytics, you’re prompted for approval before a bug report is sent
- Fixed bug where search domain could be read as
DomainName
- Dedicated preference pane for HTTP proxy settings
- Dedicated preference pane for CPU & Memory computing resources
- Privacy settings moved to the general preference pane
- Fixed an issue where the preference pane disappeared when the welcome whale menu was closed
- HyperKit: code cleanup and minor fixes
- Improvements to Logging and Diagnostics
- osxfs: switch to libev/kqueue to improve latency
- VPNKit: improvements to DNS handling
- VPNKit: Improved diagnostics
- VPNKit: Forwarded UDP datagrams should have correct source port numbers
- VPNKit: add a local cache of DNS responses
- VPNKit: If one request fails, allow other concurrent requests to succeed.For example this allows IPv4 servers to work even if IPv6 is broken.
- VPNKit: Fix bug that could cause the connection tracking tounderestimate the number of active connections
Stable Releases of 2016
Docker for Mac 1.12.5, 2016-12-20
Upgrades
- Docker 1.12.5
- Docker Compose 1.9.0
Skipped Docker for Mac 1.12.4
We did not distribute a 1.12.4 stable release
Docker for Mac 1.12.3, 2016-11-09
Upgrades
- Docker 1.12.3
- Linux Kernel 4.4.27
- Notary 0.4.2
- Docker Machine 0.8.2
- Docker Compose 1.8.1
- Kernel vsock driver v7
- aufs 20160912
Bug fixes and minor changes
General
Fixed an issue where the whale animation during setting change was inconsistent
Fixed an issue where some windows stayed hidden behind another app
Nikon p510 driver. For HP products a product number. Examples: LG534UA. Use product model name: - Examples: laserjet pro p1102, DeskJet 2130.
Fixed an issue where the Docker status would continue to be yellow/animated after the VM had started correctly
Fixed an issue where Docker for Mac was incorrectly reported as updated
Channel is now displayed in About box
Crash reports are sent over Bugsnag rather than HockeyApp
Fixed an issue where some windows did not claim focus correctly
Added UI when switching channel to prevent user losing containers and settings
Check disk capacity before Toolbox import
Import certificates in
etc/ssl/certs/ca-certificates.crt
disk: make the “flush” behaviour configurable for database-like workloads. This works around a performance regression in 1.12.1.
Networking
Proxy: Fixed application of system or custom proxy settings over container restart
DNS: reduce the number of UDP sockets consumed on the host
VPNkit: improve the connection-limiting code to avoid running out of sockets on the host
UDP: handle diagrams bigger than 2035, up to the configured macOS kernel limit
UDP: make the forwarding more robust; drop packets and continue rather than stopping
File sharing
osxfs: Fixed the prohibition of chown on read-only or mode 0 files, (fixesdocker/for-mac#117,docker/for-mac#263,docker/for-mac#633)
osxfs: Fixed race causing some reads to run forever
osxfs: Fixed a simultaneous volume mount race which can result in a crash
Moby
- Increase default ulimit for memlock (fixes docker/for-mac#801)
Docker for Mac 1.12.1, 2016-09-16
New
- Support for macOS 10.12 Sierra
Upgrades
- Docker 1.12.1
- Docker machine 0.8.1
- Linux kernel 4.4.20
- aufs 20160905
Bug fixes and minor changes
General
Fixed communications glitch when UI talks to com.docker.vmnetd Fixes docker/for-mac#90
docker-diagnose
: display and record the time the diagnosis was capturedDon’t compute the container folder in
com.docker.vmnetd
Fixes docker/for-mac#47Warn the user if BlueStacks is installed (potential kernel panic)
Automatic update interval changed from 1 hour to 24 hours
Include Zsh completions
UI Fixes
Networking
VPNKit supports search domains
slirp: support up to 8 external DNS servers
slirp: reduce the number of sockets used by UDP NAT, reduce the probability that NAT rules will time out earlier than expected
Entries from
/etc/hosts
should now resolve from within containersAllow ports to be bound on host addresses other than
0.0.0.0
and127.0.0.1
Fixes issue reported indocker/for-mac#68Use Mac System Configuration database to detect DNS
File sharing (osxfs)
Fixed thread leak
Fixed a malfunction of new directories that have the same name as an old directory that is still open
Rename events now trigger DELETE and/or MODIFY
inotify
events(saving with TextEdit works now)Fixed an issue that caused
inotify
failure and crashesFixed a directory file descriptor leak
Fixed socket
chowns
Moby
Use default
sysfs
settings, transparent huge pages disabledcgroup
mount to supportsystemd
in containersIncrease Moby
fs.file-max
to 524288Fixed Moby Diagnostics and Update Kernel
HyperKit
- HyperKit updated with
dtrace
support and lock fixes
Docker for Mac 2016-08-11 1.12.0-a
This bug fix release contains osxfs improvements. The fixed issues may havebeen seen as failures with apt-get and npm in containers, missed inotifyevents or unexpected unmounts.
Bug fixes
osxfs: fixed an issue causing access to children of renamed directories to fail (symptoms: npm failures, apt-get failures)
osxfs: fixed an issue causing some ATTRIB and CREATE inotify events to fail delivery and other inotify events to stop
osxfs: fixed an issue causing all inotify events to stop when an ancestor directory of a mounted directory was mounted
osxfs: fixed an issue causing volumes mounted under other mounts to spontaneously unmount
Docker for Mac 1.12.0, 2016-07-28
- First stable release
Components
- Docker 1.12.0
- Docker Machine 0.8.0
- Docker Compose 1.8.0