description | keywords | landing | title | notoc | notags |
---|---|---|---|---|---|
Home page for Docker's documentation |
Docker, documentation, manual, guide, reference, api, samples |
true |
Docker Documentation |
true |
true |
{% assign page.title = site.name %}
Try our new multi-part walkthrough that goes from writing your first app, data storage, networking, and swarms, ending with your app running on production servers in the cloud. Total reading time is less than an hour!
Get started with Docker{: class="button outline-btn"}
Run your solution in production with Docker Enterprise Edition and you'll get a management dashboard, security scanning, LDAP integration, content signing, multi-cloud support, and more. Click below to test drive a running instance of Docker EE, without installing anything.
Try Docker Enterprise Edition{: class="button outline-btn" onclick="ga('send', 'event', 'EE Trial Referral', 'Front Page', 'Click');"}
{% if site.edge == true %} {% capture ce-edge-section %}
The Docker CE Edge channel provides monthly releases which allow you to try new features of Docker and verify bug fixes quickly. Edge releases are only supported for one month, and a given Edge release will not receive any updates once a new edge release is available.
Stable releases are not published to the Edge channel, so Linux repository users still need to subscribe to the Stable channel as well.
Commercial support is not available for Docker CE.
For information about all Docker release channels and expectations about support, see Docker channels.
Read more about Docker CE Edge releases
This page lists features that are only available in Docker CE Edge releases. Where applicable, the API and CLI reference documentation has been updated to reflect these features, but full documentation for a given feature may not be available until a Docker CE Stable release incorporates the feature.
- 17.04
The following major features and changes are included in Docker CE Edge 17.04. Continue reading, or go straight to API and CLI, Daemon, Dockerfile, Services, or Stacks.
Read the full release notes{: target="blank" class="" }
-
Add
--device-cgroup-rule
flag to give containers access to devices that appear after the container is started. {% include github-pr.md pr=22563 %} -
Allow swarm nodes to join with
--availability=drain
to prevent them from taking non-manager workloads. {% include github-pr.md pr=24993 %} -
Add
publish
andexpose
filters todocker ps
, so that containers can be filtered by port or port range for TCP or UDP protocols {% include github-pr.md pr=27557 %} -
Add
--no-trunc
and--format
flags to thedocker service ls
command, and as well as the ability to specify the default format fordocker service ls
using theServicesFormat
option to the Docker CLI. Also add adocker stack services
command. {% include github-pr.md pr=28199 %} -
Add ability to filter plugins by whether they are enabled or disabled in
docker plugin ls
output. {% include github-pr.md pr=28627 %} -
Add
mode
option to--log-opts
flag for bothdocker
anddockerd
. If set tonon-blocking
, and the log buffer fills up, log messages will be lost, but the container will not block. Themax-buffer-size
option controls the maximum size of the ring buffer. Defaults toblocking
, which will cause the container to block if messages cannot be logged. See Options for all drivers. {% include github-pr.md pr=28762 %} -
It is no longer possible to inadvertently pull images on an architecture where they will not run. {% include github-pr.md pr=29001 %}
-
It is now possible to create AWS log groups when using the AWS logging driver. See
awslogs-create-group
. {% include github-pr.md pr=29504 %} -
Add the ability to filter
docker network ls
output by creation time, using the{% raw %}{{CreatedAt}}{% endraw %}
format specifier. {% include github-pr.md pr=29900 %} -
Named but untagged images are now removed if you run
docker image prune
if--dangling-only
is set totrue
. {% include github-pr.md pr=30330 %} -
Add
--add-host
flag todocker build
, which will add entries to the/etc/hosts
file of a container created from that image. The/etc/hosts
file is not saved within the image itself. {% include github-pr.md pr=30383 %} -
Prevent
docker network ls
from pulling all the endpoints, to reduce impact on the network. {% include github-pr.md pr=30673 %} -
Windows-specific commands and options no longer show in command help text on non-Windows clients. {% include github-pr.md pr=30780 %}
-
When you specify an IP address when running
docker network connect
, the IP address is now checked for validity. {% include github-pr.md pr=30807 %} -
Add the ability to customize bind-mount consistency to be more appropriate for some platforms and workloads. Options are
consistent
(the default),cached
, ordelegated
. {% include github-pr.md pr=31047 %}
-
Docker Daemon logging settings no longer affect the
docker build
command. {% include github-pr.md pr=29552 %} -
Add a
registry-mirrors
configuration option for the Docker daemon, which replaces the daemon's registry mirrors with a new set of registry mirrors. {% include github-pr.md pr=29650 %} -
Add the ability to specify the default shared memory size for the Docker daemon, using the
--default-shm-size
or thedefault-shm-size
key indaemon.json
. {% include github-pr.md pr=29692 %} -
Add a
no-new-privileges
configuration option for the Docker daemon, which prevents unprivileged containers from gaining new privileges. {% include github-pr.md pr=29984 %} -
If a Docker client communicates with an older daemon and attempts to perform an operation not supported by the daemon, an error is printed, which shows the API versions of both the client and daemon. {% include github-pr.md pr=30187 %}
-
The Docker daemon no longer depends upon
sqlite
. This change means that it is not possible to upgrade the Docker daemon from version 1.9 directly to the latest version. It is recommended to upgrade from one major version to the next, in sequence. {% include github-pr.md pr=30208 %}
-
Using the pattern
**/
in a Dockerfile now (correctly) behaves the same as**
. {% include github-pr.md pr=29043 %} -
Time values less than 1 second are no longer allowed in health-check options in the Dockerfile. {% include github-pr.md pr=31177 %}
-
When a service is updated with both
--secret-add
and--secret-rm
in the same operation, the order of operations is now changed so that the--secret-rm
always occurs first. {% include github-pr.md pr=29802 %} -
Add the ability to create or update a service to be read-only using the
--read-only
flag. {% include github-pr.md pr=30162 %} -
Docker now updates swarm nodes if the swarm configuration is updated. {% include github-pr.md pr=30259 %}
-
Add topology-aware placement preferences for Swarm services. This feature allows services to be balanced over nodes based on a particular user-defined property, such as which datacenter or rack they are located in. See Control service scale and placement. {% include github-pr.md pr=30725 %}
-
Add the ability to customize the stop signal which will be sent to nodes, when creating or updating a service. {% include github-pr.md pr=30754 %}
-
Add the ability to address a secret by name or prefix, as well as ID, when updating it. {% include github-pr.md pr=30856 %}
-
Add the ability to roll back to a previous version of a service if an updated service fails to deploy. Several flags are available at service creation or update,to control the rollback action, failure threshold, monitoring delay, rollback delay, and parallelism. {% include github-pr.md pr=31108 %}
-
Add the ability to specify the stream when using the Docker service logs API. {% include github-pr.md pr=31313 %}
-
Add
--tail
and--since
flags todocker service logs
command, to filter the logs by time or to show the tail of the logs and show new content as it is logged. {% include github-pr.md pr=31500 %} -
Add a
--verbose
flag to thedocker inspect
command. For swarm networks, this flag shows all nodes and services attached to the network. {% include github-pr.md pr=31710 %}
- Compose file version 3.2 is now supported. This includes support for different types of endpoints and expands the options you can use when specifying mounts. {% include github-pr.md pr=31795 %}
Get started with Docker and experimenting with container-based apps. Docker CE is available on many platforms, from desktop to cloud to server. Build and share containers and automate the development pipeline from a single environment. Choose the Edge channel to get access to the latest features, or the Stable channel for more predictability.
Learn more about Docker CE{: class="button outline-btn"}
Designed for enterprise development and IT teams who build, ship, and run business critical applications in production at scale. Integrated, certified, and supported to provide enterprises with the most secure container platform in the industry to modernize all applications. Docker EE Advanced comes with enterprise add-ons like UCP and DTR.
Learn more about Docker EE{: class="button outline-btn"}
A native application using the macOS sandbox security model which delivers all Docker tools to your Mac.
A native Windows application which delivers all Docker tools to your Windows computer.
(UCP) Manage a cluster of on-premise Docker hosts like a single machine with this enterprise product.
(DTR) An enterprise image storage solution you can install behind a firewall to manage images and access.
Define application stacks built using multiple containers, services, and swarm configurations.
Automate container provisioning on your network or in the cloud. Available for Windows, macOS, or Linux.