Items starting with DEPRECATE are important deprecation notices. For more information on the list of deprecated flags and APIs please have a look at https://docs.docker.com/misc/deprecated/ where target removal dates can also be found.
docker stats now returns block IO metrics (#15005)docker stats now details network stats per interface (#15786)ancestor=<image> filter to docker ps --filter flag to filter containers based on their ancestor images (#14570)label=<somelabel> filter to docker ps --filter to filter containers based on label (#16530)--kernel-memory flag to docker run (#14006)--message flag to docker import allowing to specify an optional message (#15711)--privileged flag to docker exec (#14113)--stop-signal flag to docker run allowing to replace the container process stopping signal (#15307)unless-stopped restart policy (#15348)-m/--message flags to docker import to set a commit message (#15711)docker inspect (#15796)/container/ps endpoint from the API (#15972)/exec/<name>/start (#16250)--oom-kill-disable is set (#16235)ro option (#14965)-c short flag variant for --cpu-shares in docker run (#16271)docker import to import from local files (#11907)--format to docker ps to allow for output customization using Go's template syntax (#14699)STOPSIGNAL Dockerfile instruction allowing to set a different stop-signal for the container process (#15307)ARG Dockerfile instruction and a --build-arg flag to docker build that allows to add build-time environment variables (#15182)docker network exits experimental and is part of standard release (#16645)--cluster-store and --cluster-advertise for built-in nodes discovery (#16229)--cluster-store-opt for setting up TLS settings (#16644)--dns-opt to the daemon (#16031)volume subcommand and API (#14242)awslogs logging driver for Amazon CloudWatch (#15495)tag log option to allow customizing container/image information passed to driver (e.g. show container names) (#15384)docker logs endpoint for the journald driver (#13707)syslog-tag, etc.) (#15384)docker search now works with partial names (#16509)offline to root and tagging to repository (#16894)DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE and DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE (#16894)--disable-legacy-registry to prevent a daemon from using a v1 registry-q flag in docker ps properly when there is a default format.docker ps with --formatdocker -d with new subcommand docker daemondocker -Hdocker events as --since/--untildocker inspectdocker import to load from local filesdocker cpdocker inspectdocker rmi of dangling images safe while pullingdocker kill returns error when container is not runningdocker exec--bridge=none not to configure the network bridge--userland-proxy=false flagexec command supports the -u|--user flag to specify the new process owner--default-gateway and --default-gateway-v6 flagsdocker run using --cpu-quotadocker run using--blkio-weightdocker logs command supports a --since argumentdocker run --uts=host--cgroup-parent, --cpu-period, --cpu-quota, --cpuset-cpus, --cpuset-memsdocker build --cpu-shares=100 --memory=1024m...commit --change to apply specified Dockerfile instructions while committing the imageimport --change to apply specified Dockerfile instructions while importing the image--cgroup-parent for specifying a parent cgroup to place container cgroup withinjson-file, syslog, or none--ulimit to set the ulimit on a container--default-ulimit option on the daemon which applies to all created containers (and overwritten by --ulimit on run)docker build can be specified with the -f flagFROM scratch instruction is now interpreted as a no-base specifierdocker push for images with a majority of already existing layersdocker stats commandrename endpoint and the associated docker rename commandinspect endpoint show the ID of exec commands running in this containerinspect endpoint show the number of times Docker auto-restarted the containerevents endpoint: ‘OOM’ (container died with out of memory), ‘exec_create’, and ‘exec_start'docker run command can take the --pid=host flag to use the host PID namespace, which makes it possible for example to debug host processes using containerized debugging toolsdocker run command can take the --read-only flag to make the container’s root filesystem mounted as readonly, which can be used in combination with volumes to force a container’s processes to only write to locations that will be persisteddocker run using the —memory-swap flag/etc/resolv.conf file when restarteddocker info), applied with new -label daemon flagENV in Dockerfile of the form: ENV name=value name2=value2...docker info now returns an ID and Name fielddocker cp now supports copying from container volumesdocker tag, so it honors --force when overriding a tag for existing image.docker cp when destination is the current directorydocker ps -f exited=1--volumes-from references a container that failed to start--insecure-registry now accepts CIDR notation such as 10.1.0.0/16--insecure-registry flag--insecure-registry is specified--iptables=false not automatically setting --ip-masq=false$ for environment variablesonbuild Dockerfile instructionENV, ADD, COPY, WORKDIR, EXPOSE, VOLUME and USERexec allows you to run additional processes inside existing containerscreate gives you the ability to create a container via the CLI without executing a process--security-opts options to allow user to customize container labels and apparmor profilesps filterssave--cap-add and --cap-drop to tweak what linux capability you want--device to use devices in containersdocker search on private registriesexited filter to docker ps --filterdocker rm -f now kills instead of stop--dns flag.dockerignore supportdocker commit--tail to docker logsdocker buildDockerfiles/ as source of docker run -vdocker savedocker inspectdocker commitstart and stop endpointsONBUILD instruction passed to grandchildren-h and --net=none--privilegeddocker cp on Mac OS XCOPY Dockerfile instruction to allow copying a local file from the context into the container without ever extracting if the file is a tar fileADDpause and unpause commands to allow pausing and unpausing of containers using cgroup freezerimages command has a -f/--filter option to filter the list of images--force-rm to clean up after a failed buildlatest tag if not specified--net flag to allow advanced network configuration such as host networking so that containers can use the host's network interfacesdocker ps to the documentation.docker restart to the documentation.docker images to the docs.--lxc-conf is lxc only.docker load.docker run -a does in the docs.docker pull.docker pull.docker info even when not in debug mode.docker ps.docker rmi.docker ps.docker ps.docker load.docker version.docker images --tree and docker images --viz.docker insert.docker commit -run.docker cp.docker pull.docker info even when not in debug mode.onbuild from and onbuild maintainer triggers.--rm the default for docker build.docker ps.docker cp.tcp:// default to 127.0.0.1:4243 and remove the default port for tcp.--run in docker commit. This makes docker commit --run work again.docker push.docker run -it).docker rmi.docker run -i -t (issue #3336).-f flag to docker rm to force removal of running containers.DOCKER_RAMDISK environment variable to make Docker work when the root is on a ramdisk.docker build --rm. This adds a missing error check to ensure failures to remove containers are detected and reporteddocker commit. This makes docker commit store --run in the image configurationdocker cp stream is closed properlyImages and containers can be removed much faster
Building an image from source with docker build is now much faster
The Docker daemon starts and stops much faster
The memory footprint of many common operations has been reduced, by streaming files instead of buffering them in memory, fixing memory leaks, and fixing various suboptimal memory allocations
Several race conditions were fixed, making Docker more stable under very high concurrency load. This makes Docker more stable and less likely to crash and reduces the memory footprint of many common operations
All packaging operations are now built on the Go language’s standard tar implementation, which is bundled with Docker itself. This makes packaging more portable across host distributions, and solves several issues caused by quirks and incompatibilities between different distributions of tar
Docker can now create, remove and modify larger numbers of containers and images graciously thanks to more aggressive releasing of system resources. For example the storage driver API now allows Docker to do reference counting on mounts created by the drivers With the ongoing changes to the networking and execution subsystems of docker testing these areas have been a focus of the refactoring. By moving these subsystems into separate packages we can test, analyze, and monitor coverage and quality of these packages
Many components have been separated into smaller sub-packages, each with a dedicated test suite. As a result the code is better-tested, more readable and easier to change
The ADD instruction now supports caching, which avoids unnecessarily re-uploading the same source content again and again when it hasn’t changed
The new ONBUILD instruction adds to your image a “trigger” instruction to be executed at a later time, when the image is used as the base for another build
Docker now ships with an experimental storage driver which uses the BTRFS filesystem for copy-on-write
Docker is officially supported on Mac OS X
The Docker daemon supports systemd socket activation
-mtu flag in several GCE zonesdocker runlxc-checkconfig as a way to check for some of the necessary kernel configuration-a to our Go build flags, removing the need for recompiling the stdlib manuallydocker pull progress bar display issuesdocker top in pure Go to work more consistently, and even inside Docker-in-Docker (thus removing the shell injection vulnerability present in some versions of lxc-ps)-H unix:// to work similarly to -H tcp:// by inserting the default values for missing portions-g to work as expecteddocker images -tree-S option to external tar invocation for more efficient spare file handling-mtu option to Docker daemon for configuring MTUdocker build to exit with a non-zero exit code on errorDOCKER_HOST environment variable to configure the client -H flag without specifying it manually for every invocationdocker log -f to stream logsdocker inspectdocker build now returns the correct exit codedocker port to display correct portdocker build now check that the dockerfile exists client sidedocker attach now returns the correct exit codedocker rm with volumes(syscall.O_NOCTTY)apt-get install curl to Ubuntu docspostgresql_service.rstvagrant up is actually doingdocker login commanddocker start set error code upon errordocker run set the same error code as the process starteddocker versionsh process”ps args to docker topdocker run -n and docker -d -b=nonedocker runt ignore last line in Dockerfile when it doesnt end with \nC-p C-qInitial public release