Docker For Mac Factory Reset

  понедельник 10 февраля
      96
Estimated reading time: 28 minutes

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 as curl 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 the com.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 to kube-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.

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 in dd 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 of docker.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 and osxkeychain 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 captured

  • Don’t compute the container folder in com.docker.vmnetdFixes docker/for-mac#47

  • Warn 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 containers

  • Allow ports to be bound on host addresses other than 0.0.0.0 and 127.0.0.1Fixes issue reported indocker/for-mac#68

  • Use 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 crashes

  • Fixed a directory file descriptor leak

  • Fixed socket chowns

Moby

  • Use default sysfs settings, transparent huge pages disabled

  • cgroup mount to support systemd in containers

  • Increase Moby fs.file-max to 524288

  • Fixed 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
Docker Desktop for Mac, stable, release notes-->

APPLIES TO: SQL Server (Linux only) Azure SQL Database Azure Synapse Analytics (SQL DW) Parallel Data Warehouse

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.

  1. 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 use sudo to run Docker, you can configure a docker group and add users to that group. For more information, see Post-installation steps for Linux.

  2. 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:

    ParameterDescription
    -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:1433Map 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 sql1Specify 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-latestThe SQL Server 2017 Linux container image.
  3. To view your Docker containers, use the docker ps command.

    You should see output similar to the following screenshot:

  4. 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.

  1. 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 use sudo to run Docker, you can configure a docker group and add users to that group. For more information, see Post-installation steps for Linux.

  2. 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:

    ParameterDescription
    -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:1433Map 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 sql1Specify 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.04The SQL Server 2019 Ubuntu Linux container image.
  3. To view your Docker containers, use the docker ps command.

    You should see output similar to the following screenshot:

  4. 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.

  1. Choose a strong password to use for the SA user.

  2. 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.

  1. Use the docker exec -it command to start an interactive bash shell inside your running container. In the following example sql1 is name specified by the --name parameter when you created the container.

  2. 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.

  3. 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.

  1. From the sqlcmd command prompt, paste the following Transact-SQL command to create a test database:

  2. On the next line, write a query to return the name of all of the databases on your server:

  3. 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.

  1. From the sqlcmd command prompt, switch context to the new TestDB database:

  2. Create new table named Inventory:

  3. Insert data into the new table:

  4. Type GO to execute the previous commands:

Select data

Now, run a query to return data from the Inventory table.

  1. From the sqlcmd command prompt, enter a query that returns rows from the Inventory table where the quantity is greater than 152:

  2. Execute the command:

Exit the sqlcmd command prompt

  1. To end your sqlcmd session, type QUIT:

  2. 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.

  1. Find the IP address for the machine that hosts your container. On Linux, use ifconfig or ip addr. On Windows, use ipconfig.

  2. For this example, install the sqlcmd tool on your client machine. For more information, see Install sqlcmd on Windows or Install sqlcmd on Linux.

  3. 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.

  4. 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.