Docker For Mac Factory Reset
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
I suspect I need to uninstall some extra files, but can't find any documentation on how to truly completely uninstall Docker from my Mac.
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
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)
For example, click Font next to New mail to select a default font for new messages, or next to Reply or forward to set a font for outgoing messages.On the Font tab, choose the default Font, Font style, Size, Color & Underline, and Effects.On the Advanced tab, adjust default character spacing and typography.Click OK to save the changes.Repeat steps 2 through 5 for each composition style you want to edit.Change the text size when composing an emailYou can make your text larger or smaller when composing an email message. The default font and font sizes that you select will not affect the formatting of these incoming messages. Choose a default fontTo change the default font for incoming and outgoing messages:.Select Outlook Preferences Fonts.In the Default fonts for composing messages section click the Font button next to the composition style you want to edit. Change default mail client mac to outlook. Note: Incoming HTML messages often have font styles and font sizes applied to the text. This is a temporary setting that's only used during the compose phase.
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
In this quickstart, you use Docker to pull and run the SQL Server 2017 container image, mssql-server-linux. Then connect with sqlcmd to create your first database and run queries.
Tip
If you want to run SQL Server 2019 containers, see the SQL Server 2019 version of this article.
In this quickstart, you use Docker to pull and run the SQL Server 2019 container image, mssql-server. Then connect with sqlcmd to create your first database and run queries.
Tip
This quickstart creates SQL Server 2019 containers. If you prefer to create SQL Server 2017 containers, see the SQL Server 2017 version of this article.
This image consists of SQL Server running on Linux based on Ubuntu 16.04. It can be used with the Docker Engine 1.8+ on Linux or on Docker for Mac/Windows. This quickstart specifically focuses on using the SQL Server on linux image. The Windows image is not covered, but you can learn more about it on the mssql-server-windows-developer Docker Hub page.
Prerequisites
- Docker Engine 1.8+ on any supported Linux distribution or Docker for Mac/Windows. For more information, see Install Docker.
- Docker overlay2 storage driver. This is the default for most users. If you find that you are not using this storage provider and need to change, please see the instructions and warnings in the docker documentation for configuring overlay2.
- Minimum of 2 GB of disk space.
- Minimum of 2 GB of RAM.
- System requirements for SQL Server on Linux.
Pull and run the container image
Before starting the following steps, make sure that you have selected your preferred shell (bash, PowerShell, or cmd) at the top of this article.
Pull the SQL Server 2017 Linux container image from Microsoft Container Registry.
Tip
If you want to run SQL Server 2019 containers, see the SQL Server 2019 version of this article.
The previous command pulls the latest SQL Server 2017 container image. If you want to pull a specific image, you add a colon and the tag name (for example,
mcr.microsoft.com/mssql/server:2017-GA-ubuntu
). To see all available images, see the mssql-server Docker hub page.For the bash commands in this article,
sudo
is used. On MacOS,sudo
might not be required. On Linux, if you do not want to usesudo
to run Docker, you can configure a docker group and add users to that group. For more information, see Post-installation steps for Linux.To run the container image with Docker, you can use the following command from a bash shell (Linux/macOS) or elevated PowerShell command prompt.
Note
The password should follow the SQL Server default password policy, otherwise the container can not setup SQL server and will stop working. By default, the password must be at least 8 characters long and contain characters from three of the following four sets: Uppercase letters, Lowercase letters, Base 10 digits, and Symbols. You can examine the error log by executing the docker logs command.
Note
By default, this creates a container with the Developer edition of SQL Server 2017. The process for running production editions in containers is slightly different. For more information, see Run production container images.
The following table provides a description of the parameters in the previous
docker run
example:Parameter Description -e 'ACCEPT_EULA=Y' Set the ACCEPT_EULA variable to any value to confirm your acceptance of the End-User Licensing Agreement. Required setting for the SQL Server image. -e 'SA_PASSWORD=<YourStrong@Passw0rd>' Specify your own strong password that is at least 8 characters and meets the SQL Server password requirements. Required setting for the SQL Server image. -p 1433:1433 Map a TCP port on the host environment (first value) with a TCP port in the container (second value). In this example, SQL Server is listening on TCP 1433 in the container and this is exposed to the port, 1433, on the host. --name sql1 Specify a custom name for the container rather than a randomly generated one. If you run more than one container, you cannot reuse this same name. -d mcr.microsoft.com/mssql/server:2017-latest The SQL Server 2017 Linux container image. To view your Docker containers, use the
docker ps
command.You should see output similar to the following screenshot:
If the STATUS column shows a status of Up, then SQL Server is running in the container and listening on the port specified in the PORTS column. If the STATUS column for your SQL Server container shows Exited, see the Troubleshooting section of the configuration guide.
The -h
(host name) parameter is also useful, but it is not used in this tutorial for simplicity. This changes the internal name of the container to a custom value. This is the name you'll see returned in the following Transact-SQL query:
Setting -h
and --name
to the same value is a good way to easily identify the target container.
Pull and run the container image
Before starting the following steps, make sure that you have selected your preferred shell (bash, PowerShell, or cmd) at the top of this article.
Pull the SQL Server 2019 Linux container image from Docker Hub.
Download CrackDownload Adobe Photoshop CC 2015.5 Crack Adobe Photoshop CC 2015.5 Crack is a tested Crack. It works 100% on your Adobe Photoshop CC 2015.5. Adobe photoshop cc 2015.5 crack for mac pro.
Tip
This quickstart uses the SQL Server 2019 Docker image. If you want to run the SQL Server 2017 image, see the SQL Server 2017 version of this article.
The previous command pulls the SQL Server 2019 container image based on Ubuntu. To instead use container images based on RedHat, see Run RHEL-based container images. To see all available images, see the mssql-server-linux Docker hub page.
For the bash commands in this article,
sudo
is used. On MacOS,sudo
might not be required. On Linux, if you do not want to usesudo
to run Docker, you can configure a docker group and add users to that group. For more information, see Post-installation steps for Linux.To run the container image with Docker, you can use the following command from a bash shell (Linux/macOS) or elevated PowerShell command prompt.
Note
The password should follow the SQL Server default password policy, otherwise the container can not setup SQL server and will stop working. By default, the password must be at least 8 characters long and contain characters from three of the following four sets: Uppercase letters, Lowercase letters, Base 10 digits, and Symbols. You can examine the error log by executing the docker logs command.
Note
By default, this creates a container with the Developer edition of SQL Server 2019.
The following table provides a description of the parameters in the previous
docker run
example:Parameter Description -e 'ACCEPT_EULA=Y' Set the ACCEPT_EULA variable to any value to confirm your acceptance of the End-User Licensing Agreement. Required setting for the SQL Server image. -e 'SA_PASSWORD=<YourStrong@Passw0rd>' Specify your own strong password that is at least 8 characters and meets the SQL Server password requirements. Required setting for the SQL Server image. -p 1433:1433 Map a TCP port on the host environment (first value) with a TCP port in the container (second value). In this example, SQL Server is listening on TCP 1433 in the container and this is exposed to the port, 1433, on the host. --name sql1 Specify a custom name for the container rather than a randomly generated one. If you run more than one container, you cannot reuse this same name. mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04 The SQL Server 2019 Ubuntu Linux container image. To view your Docker containers, use the
docker ps
command.You should see output similar to the following screenshot:
If the STATUS column shows a status of Up, then SQL Server is running in the container and listening on the port specified in the PORTS column. If the STATUS column for your SQL Server container shows Exited, see the Troubleshooting section of the configuration guide.
The -h
(host name) parameter is also useful, but it is not used in this tutorial for simplicity. This changes the internal name of the container to a custom value. This is the name you'll see returned in the following Transact-SQL query:
Setting -h
and --name
to the same value is a good way to easily identify the target container.
Change the SA password
The SA account is a system administrator on the SQL Server instance that gets created during setup. After creating your SQL Server container, the SA_PASSWORD
environment variable you specified is discoverable by running echo $SA_PASSWORD
in the container. For security purposes, change your SA password.
Choose a strong password to use for the SA user.
Use
docker exec
to run sqlcmd to change the password using Transact-SQL. In the following example, replace the old password,<YourStrong!Passw0rd>
, and the new password,<YourNewStrong!Passw0rd>
, with your own password values.
Connect to SQL Server
The following steps use the SQL Server command-line tool, sqlcmd, inside the container to connect to SQL Server.
Use the
docker exec -it
command to start an interactive bash shell inside your running container. In the following examplesql1
is name specified by the--name
parameter when you created the container.Once inside the container, connect locally with sqlcmd. Sqlcmd is not in the path by default, so you have to specify the full path.
Tip
You can omit the password on the command-line to be prompted to enter it.
If successful, you should get to a sqlcmd command prompt:
1>
.
Create and query data
The following sections walk you through using sqlcmd and Transact-SQL to create a new database, add data, and run a simple query.
Create a new database
The following steps create a new database named TestDB
.
From the sqlcmd command prompt, paste the following Transact-SQL command to create a test database:
On the next line, write a query to return the name of all of the databases on your server:
The previous two commands were not executed immediately. You must type
GO
on a new line to execute the previous commands:
Insert data
Next create a new table, Inventory
, and insert two new rows.
From the sqlcmd command prompt, switch context to the new
TestDB
database:Create new table named
Inventory
:Insert data into the new table:
Type
GO
to execute the previous commands:
Select data
Now, run a query to return data from the Inventory
table.
From the sqlcmd command prompt, enter a query that returns rows from the
Inventory
table where the quantity is greater than 152:Execute the command:
Exit the sqlcmd command prompt
To end your sqlcmd session, type
QUIT
:To exit the interactive command-prompt in your container, type
exit
. Your container continues to run after you exit the interactive bash shell.
Connect from outside the container
You can also connect to the SQL Server instance on your Docker machine from any external Linux, Windows, or macOS tool that supports SQL connections.
The following steps use sqlcmd outside of your container to connect to SQL Server running in the container. These steps assume that you already have the SQL Server command-line tools installed outside of your container. The same principles apply when using other tools, but the process of connecting is unique to each tool.
Find the IP address for the machine that hosts your container. On Linux, use ifconfig or ip addr. On Windows, use ipconfig.
For this example, install the sqlcmd tool on your client machine. For more information, see Install sqlcmd on Windows or Install sqlcmd on Linux.
Run sqlcmd specifying the IP address and the port mapped to port 1433 in your container. In this example, that is the same port, 1433, on the host machine. If you specified a different mapped port on the host machine, you would use it here.
Run Transact-SQL commands. When finished, type
QUIT
.
Other common tools to connect to SQL Server include:
Remove your container
If you want to remove the SQL Server container used in this tutorial, run the following commands:
Warning
Stopping and removing a container permanently deletes any SQL Server data in the container. If you need to preserve your data, create and copy a backup file out of the container or use a container data persistence technique.
Docker demo
After you have tried using the SQL Server container image for Docker, you might want to know how Docker is used to improve development and testing. The following video shows how Docker can be used in a continuous integration and deployment scenario.
Next steps
For a tutorial on how to restore database backup files into a container, see Restore a SQL Server database in a Linux Docker container. To explore other scenarios, such as running multiple containers, data persistence, and troubleshooting, see Configure SQL Server container images on Docker.
Also, check out the mssql-docker GitHub repository for resources, feedback, and known issues.