Docker CE Edge documentation
Estimated reading time: 11 minutesThe current Docker CE Edge release is 17.05. 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.
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.
Docker CE Edge new features
Docker CE Edge 17.05
The following major features and changes are included in Docker CE Edge 17.05. Docker CE Edge 17.05 also includes the features from Docker CE Edge 17.04. Continue reading, or go straight to API and CLI, Builder, Daemon, Dockerfile, Logging, Networking, Operating system support, Runtime, Security, Services, or Stacks.
API and CLI
- Add version 1.29 of the Docker API.
- Add
--mount
flag todocker run
anddocker create
#32251 - Add the ability to specify
--type=secret
indocker inspect
#32124 - Add
--format
and--filter
options fordocker secret ls
#30810 and #31552 - Add the ability to only show local or swarm networks in
docker network ls
#31529 - Add the ability to update the
--cpus
value for a running container #31148 - Add label filtering to all
prune
commands #30740 - Add the ability to remove multiple stacks with a single
docker stack rm
invocation #32110 - Improve
docker version --format
option when the client has downgraded the API version #31022 - You are now prompted when using an encrypted client certificate to connect to a Docker daemon #31364
Builder
- Add support for multi-stage builds #31257 (see Use multi-stage builds)
- Add support for named build stages when using multi-stage builds #32063
- Add support for using
ARG
variables in theFROM
instruction in the Dockerfile #31352 docker build
now reads the Dockerfile fromSTDIN
when using the-f
flag #31236- Default build arguments are no longer included in the image history #31584
Daemon
- The
--api-cors-header
is no longer ignored if--api-enable-cors
is not set #32174 - The
--graph
flag is deprecated in favor or--data-root
#28696 - Document deprecation of the
--api-enable-cors
daemon flag. This flag was marked as deprecated in Docker 1.6.0 but was inadvertently omitted from the list of deprecated features. #32352
Logging
- You can now show the logs for an individual service task in the
docker service logs
command or via the/tasks/{id}/logs
REST endpoint #32015 - Add support for logging driver plugins #28403
- Add the ability to set
--log-opt env-regex
to match an environment variable using a regular expression #27565 docker service logs
is no longer experimental. #32462
Networking
- Add the ability to replace, and customize the ingress network #31714
- Files are now written to the correct directory if a custom data-root is set #32505
Operating system support
- Ubuntu 12.04 (Precise Pangolin) is no longer supported. #32520
- Ubuntu 17.04 (Zesty Zapus) is now supported. #32435
Runtime
- The health probe is now consistently stopped when a container exits #32274
- You can now specify “grace periods” on healthchecks using
--start-period
and--health-start-period
to support services and containers with an initial startup delay #28938
Security
- Add the ability to set SELinux type or MCS labels when using
--ipc=container:
or--ipc=host
#30652
Services
- You can now show the logs for an individual service task in the
docker service logs
command or via the/tasks/{id}/logs
REST endpoint #32015 - You can now specify the update or rollback order for services using
--update-order
and--rollback-order
#30261 - Add support for synchronous service creation and update #31144
- You can now specify “grace periods” on healthchecks using
--start-period
and--health-start-period
to support services and containers with an initial startup delay #28938 docker service create
now omits fields that are not shown by the user, where possible. In addition,docker service inspect
now shows default values that were not specified by the user. #32284docker service logs
is no longer experimental. #32462- Add support for Credential Spec and SELinux to services #32339
- You can override the entrypoint using the
--entrypoint
flag withdocker service create
ordocker service update
#29228 - Add
--network-add
and--network-rm
flags todocker service update
#32062 - Add the ability to specify the credential specification to
docker service create
anddocker service update
#32339 - Add the ability to filter by service replication mode when listing services #31538
- Add
--format
option todocker node ls
#30424 - Tasks are no longer re-deployed unnecessarily when environment-variables are used #32364
Stacks
Docker CE Edge 17.04
The following major features and changes are included in Docker CE Edge 17.04.
API and CLI
Add version 1.28 of the Docker API.
Add
--device-cgroup-rule
flag to give containers access to devices that appear after the container is started. #22563Allow swarm nodes to join with
--availability=drain
to prevent them from taking non-manager workloads. #24993Add
publish
andexpose
filters todocker ps
, so that containers can be filtered by port or port range for TCP or UDP protocols #27557Add
--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. #28199Add ability to filter plugins by whether they are enabled or disabled in
docker plugin ls
output. #28627Add
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. #28762It is no longer possible to inadvertently pull images on an architecture where they will not run. #29001
It is now possible to create AWS log groups when using the AWS logging driver. See
awslogs-create-group
. #29504Add the ability to filter
docker network ls
output by creation time, using the{{CreatedAt}}
format specifier. #29900Named but untagged images are now removed if you run
docker image prune
if--dangling-only
is set totrue
. #30330Add
--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. #30383Prevent
docker network ls
from pulling all the endpoints, to reduce impact on the network. #30673Windows-specific commands and options no longer show in command help text on non-Windows clients. #30780
When you specify an IP address when running
docker network connect
, the IP address is now checked for validity. #30807Add the ability to customize bind-mount consistency to be more appropriate for some platforms and workloads. Options are
consistent
(the default),cached
, ordelegated
. #31047
Daemon
Docker Daemon logging settings no longer affect the
docker build
command. #29552Add a
registry-mirrors
configuration option for the Docker daemon, which replaces the daemon’s registry mirrors with a new set of registry mirrors. #29650Add 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
. #29692Add a
no-new-privileges
configuration option for the Docker daemon, which prevents unprivileged containers from gaining new privileges. #29984If 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. #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. #30208
Dockerfile
Using the pattern
**/
in a Dockerfile now (correctly) behaves the same as**
. #29043Time values less than 1 second are no longer allowed in health-check options in the Dockerfile. #31177
Services
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. #29802Add the ability to create or update a service to be read-only using the
--read-only
flag. #30162Docker now updates swarm nodes if the swarm configuration is updated. #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. #30725
Add the ability to customize the stop signal which will be sent to nodes, when creating or updating a service. #30754
Add the ability to address a secret by name or prefix, as well as ID, when updating it. #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. #31108
Add the ability to specify the stream when using the Docker service logs API. #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. #31500Add a
--verbose
flag to thedocker inspect
command. For swarm networks, this flag shows all nodes and services attached to the network. #31710
Stacks
- 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. #31795