Docker Engine prior releases
1.13.1 (2017-02-08)
ImportantOn Linux distributions where
devicemapperwas the default storage driver, theoverlay2, oroverlayis now used by default (if the kernel supports it). To use devicemapper, you can manually configure the storage driver to use through the--storage-driverdaemon option, or by setting "storage-driver" in thedaemon.jsonconfiguration file.
ImportantIn Docker 1.13, the managed plugin api changed, as compared to the experimental version introduced in Docker 1.12. You must uninstall plugins which you installed with Docker 1.12 before upgrading to Docker 1.13. You can uninstall plugins using the
docker plugin rmcommand.
If you have already upgraded to Docker 1.13 without uninstalling previously-installed plugins, you may see this message when the Docker daemon starts:
Error starting daemon: json: cannot unmarshal string into Go value of type types.PluginEnv
To manually remove all plugins and resolve this problem, take the following steps:
- Remove plugins.json from:
/var/lib/docker/plugins/. - Restart Docker. Verify that the Docker daemon starts with no errors.
- Reinstall your plugins.
Contrib
Remote API (v1.26) & Client
- Support secrets in docker stack deploy with compose file #30144
Runtime
- Fix size issue in
docker system df#30378 - Fix error on
docker inspectwhen Swarm certificates were expired. #29246 - Fix deadlock on v1 plugin with activate error #30408
- Fix SELinux regression #30649
Plugins
- Support global scoped network plugins (v2) in swarm mode #30332
- Add
docker plugin upgrade#29414
Windows
1.13.0 (2017-01-18)
ImportantOn Linux distributions where
devicemapperwas the default storage driver, theoverlay2, oroverlayis now used by default (if the kernel supports it). To use devicemapper, you can manually configure the storage driver to use through the--storage-driverdaemon option, or by setting "storage-driver" in thedaemon.jsonconfiguration file.
ImportantIn Docker 1.13, the managed plugin api changed, as compared to the experimental version introduced in Docker 1.12. You must uninstall plugins which you installed with Docker 1.12 before upgrading to Docker 1.13. You can uninstall plugins using the
docker plugin rmcommand.
If you have already upgraded to Docker 1.13 without uninstalling previously-installed plugins, you may see this message when the Docker daemon starts:
Error starting daemon: json: cannot unmarshal string into Go value of type types.PluginEnv
To manually remove all plugins and resolve this problem, take the following steps:
- Remove plugins.json from:
/var/lib/docker/plugins/. - Restart Docker. Verify that the Docker daemon starts with no errors.
- Reinstall your plugins.
Builder
- Add capability to specify images used as a cache source on build. These images do not need to have local parent chain and can be pulled from other registries #26839
- (experimental) Add option to squash image layers to the FROM image after successful builds #22641
- Fix dockerfile parser with empty line after escape #24725
- Add step number on
docker build#24978
- Add support for compressing build context during image build #25837
- add
--networktodocker build#27702
- Fix inconsistent behavior between
--labelflag ondocker buildanddocker run#26027 - Fix image layer inconsistencies when using the overlay storage driver #27209
- Unused build-args are now allowed. A warning is presented instead of an error and failed build #27412
- Fix builder cache issue on Windows #27805
Contrib
- Add support for building docker debs for Ubuntu 16.04 Xenial on PPC64LE #23438
- Add support for building docker debs for Ubuntu 16.04 Xenial on s390x #26104
- Add support for building docker debs for Ubuntu 16.10 Yakkety Yak on PPC64LE #28046
- Add RPM builder for VMWare Photon OS #24116
- Add shell completions to tgz #27735
- Update the install script to allow using the mirror in China #27005
- Add DEB builder for Ubuntu 16.10 Yakkety Yak #27993
- Add RPM builder for Fedora 25 #28222
- Add
make debsupport for aarch64 #27625
Distribution
- Update notary dependency to 0.4.2 (full changelogs here) #27074
- Support for compilation on windows docker/notary#970
- Improved error messages for client authentication errors docker/notary#972
- Support for finding keys that are anywhere in the
~/.docker/trust/privatedirectory, not just under~/.docker/trust/private/root_keysor~/.docker/trust/private/tuf_keysdocker/notary#981 - Previously, on any error updating, the client would fall back on the cache. Now we only do so if there is a network error or if the server is unavailable or missing the TUF data. Invalid TUF data will cause the update to fail - for example if there was an invalid root rotation. docker/notary#982
- Improve root validation and yubikey debug logging docker/notary#858 docker/notary#891
- Warn if certificates for root or delegations are near expiry docker/notary#802
- Warn if role metadata is near expiry docker/notary#786
- Fix passphrase retrieval attempt counting and terminal detection docker/notary#906
- Avoid unnecessary blob uploads when different users push same layers to authenticated registry #26564
- Allow external storage for registry credentials #26354
Logging
- Standardize the default logging tag value in all logging drivers #22911
- Improve performance and memory use when logging of long log lines #22982
- Enable syslog driver for windows #25736
- Add Logentries Driver #27471
- Update of AWS log driver to support tags #27707
- Unix socket support for fluentd #26088
- Enable fluentd logging driver on Windows #28189
- Sanitize docker labels when used as journald field names #23725
- Fix an issue where
docker logs --tailreturned less lines than expected #28203 - Splunk Logging Driver: performance and reliability improvements #26207
- Splunk Logging Driver: configurable formats and skip for verifying connection #25786
Networking
- Add
--attachablenetwork support to enabledocker runto work in swarm-mode overlay network #25962 - Add support for host port PublishMode in services using the
--publishoption indocker service create#27917 and #28943 - Add support for Windows server 2016 overlay network driver (requires upcoming ws2016 update) #28182
- Change the default
FORWARDpolicy toDROP#28257
- Add support for specifying static IP addresses for predefined network on windows #22208
- Fix
--publishflag ondocker runnot working with IPv6 addresses #27860 - Fix inspect network show gateway with mask #25564
- Fix an issue where multiple addresses in a bridge may cause
--fixed-cidrto not have the correct addresses #26659
- Add creation timestamp to
docker network inspect#26130
- Show peer nodes in
docker network inspectfor swarm overlay networks #28078 - Enable ping for service VIP address #28019
Plugins
- Add support for dynamically reloading authorization plugins #22770
- Add description in
docker plugin ls#25556 - Add
-f/--formattodocker plugin inspect#25990 - Add
docker plugin createcommand #28164
- Send request's TLS peer certificates to authorization plugins #27383
- Support for global-scoped network and ipam plugins in swarm-mode #27287
- Split
docker plugin installinto two API call/privilegesand/pull#28963
Remote API (v1.25) & Client
- Support
docker stack deployfrom a Compose file #27998 - (experimental) Implement checkpoint and restore #22049
- Add
--formatflag todocker info#23808
- Remove
--namefromdocker volume create#23830
- Add
docker stack ls#23886 - Add a new
is-taskps filter #24411 - Add
--env-fileflag todocker service create#24844 - Add
--formatondocker stats#24987 - Make
docker node psdefault toselfin swarm node #25214 - Add
--groupindocker service create#25317 - Add
--no-truncto service/node/stack ps output #25337 - Add Logs to
ContainerAttachOptionsso go clients can request to retrieve container logs as part of the attach process #26718 - Allow client to talk to an older server #27745
- Inform user client-side that a container removal is in progress #26074
- Do not allow more than one mode be requested at once in the services endpoint #26643
- Add capability to /containers/create API to specify mounts in a more granular and safer way #22373
- Add
--formatflag tonetwork lsandvolume ls#23475
- Allow the top-level
docker inspectcommand to inspect any kind of resource #23614
- Add --cpus flag to control cpu resources for
docker runanddocker create, and addNanoCPUstoHostConfig#27958
- Allow unsetting the
--entrypointindocker runordocker create#23718
- Restructure CLI commands by adding
docker imageanddocker containercommands for more consistency #26025
- Remove
COMMANDcolumn fromservice lsoutput #28029
- Add
--formattodocker events#26268
- Allow specifying multiple nodes on
docker node ps#26299 - Restrict fractional digits to 2 decimals in
docker imagesoutput #26303
- Add
--dns-optiontodocker run#28186 - Add Image ID to container commit event #28128
- Add external binaries version to docker info #27955
- Add information for
Manager Addressesin the output ofdocker info#28042 - Add a new reference filter for
docker images#27872
Runtime
- Add
--experimentaldaemon flag to enable experimental features, instead of shipping them in a separate build #27223 - Add a
--shutdown-timeoutdaemon flag to specify the default timeout (in seconds) to stop containers gracefully before daemon exit #23036 - Add
--stop-timeoutto specify the timeout value (in seconds) for individual containers to stop #22566 - Add a new daemon flag
--userland-proxy-pathto allow configuring the userland proxy instead of using the hardcodeddocker-proxyfrom$PATH#26882 - Add boolean flag
--initondockerdand ondocker runto use tini a zombie-reaping init process as PID 1 #26061 #28037 - Add a new daemon flag
--init-pathto allow configuring the path to thedocker-initbinary #26941 - Add support for live reloading insecure registry in configuration #22337
- Add support for storage-opt size on Windows daemons #23391
- Improve reliability of
docker run --rmby moving it from the client to the daemon #20848
- Add support for
--cpu-rt-periodand--cpu-rt-runtimeflags, allowing containers to run real-time threads whenCONFIG_RT_GROUP_SCHEDis enabled in the kernel #23430
- Fix partial/full filter issue in
service tasks --filter#24850 - Allow engine to run inside a user namespace #25672
- Fix a race condition between device deferred removal and resume device, when using the devicemapper graphdriver #23497
- Add
docker statssupport in Windows #25737 - Allow using
--pid=hostand--net=hostwhen--userns=host#25771
- (experimental) Add metrics (Prometheus) output for basic
container,image, anddaemonoperations #25820
- Fix issue in
docker statswithNetworkDisabled=true#25905
- Add
docker topsupport in Windows #25891 - Record pid of exec'd process #27470
- Add support for looking up user/groups via
getent#27599 - Add new
docker systemcommand withdfandprunesubcommands for system resource management, as well asdocker {container,image,volume,network} prunesubcommands #26108 #27525 / #27525
- Fix an issue where containers could not be stopped or killed by setting xfs max_retries to 0 upon ENOSPC with devicemapper #26212
- Fix
docker cpfailing to copy to a container's volume dir on CentOS with devicemapper #28047
- Promote overlay(2) graphdriver #27932
- Add
--seccomp-profiledaemon flag to specify a path to a seccomp profile that overrides the default #26276
- Fix ulimits in
docker inspectwhen--default-ulimitis set on daemon #26405 - Add workaround for overlay issues during build in older kernels #28138
- Add
TERMenvironment variable ondocker exec -t#26461
- Honor a container’s
--stop-signalsetting upondocker kill#26464
Swarm Mode
- Add secret management #27794
- Add support for templating service options (hostname, mounts, and environment variables) #28025
- Display the endpoint mode in the output of
docker service inspect --pretty#26906 - Make
docker service psoutput more bearable by shortening service IDs in task names #28088 - Make
docker node psdefault to the current node #25214
- Add
--dns, --dns-opt, and--dns-searchto service create. #27567 - Add
--forcetodocker service update#27596 - Add
--health-*and--no-healthcheckflags todocker service createanddocker service update#27369 - Add
-qtodocker service ps#27654
- Display number of global services in
docker service ls#27710
- Remove
--nameflag fromdocker service update. This flag is only functional ondocker service create, so was removed from theupdatecommand #26988 - Fix worker nodes failing to recover because of transient networking issues #26646
- Add support for health aware load balancing and DNS records #27279
- Add
--hostnametodocker service create#27857 - Add
--hosttodocker service create, and--host-add,--host-rmtodocker service update#28031 - Add
--ttyflag todocker service create/update#28076
- Autodetect, store, and expose node IP address as seen by the manager #27910
- Encryption at rest of manager keys and raft data #27967
- Add
--update-max-failure-ratio,--update-monitorand--rollbackflags todocker service update#26421
- Fix an issue with address autodiscovery on
docker swarm initrunning inside a container #26457
- (experimental) Add
docker service logscommand to view logs for a service #28089 - Pin images by digest for
docker service createandupdate#28173
- Add short (
-f) flag fordocker node rm --forceanddocker swarm leave --force#28196
- Add options to customize Raft snapshots (
--max-snapshots,--snapshot-interval) #27997
- Don't repull image if pinned by digest #28265
- Swarm-mode support for Windows #27838
- Allow hostname to be updated on service #28771
- Support v2 plugins #29433
- Add content trust for services #29469
Volume
- Add a
--forceflag indocker volume rmto forcefully purge the data of the volume that has already been deleted #23436 - Enhance
docker volume inspectto show all options used when creating the volume #26671 - Add support for local NFS volumes to resolve hostnames #27329
Security
- Fix selinux labeling of volumes shared in a container #23024
- Prohibit
/sys/firmware/**from being accessed with apparmor #26618
Deprecation
- Marked the
docker daemoncommand as deprecated. The daemon is moved to a separate binary (dockerd), and should be used instead #26834 - Deprecate unversioned API endpoints #28208
- Remove Ubuntu 15.10 (Wily Werewolf) as supported platform. Ubuntu 15.10 is EOL, and no longer receives updates #27042
- Remove Fedora 22 as supported platform. Fedora 22 is EOL, and no longer receives updates #27432
- Remove Fedora 23 as supported platform. Fedora 23 is EOL, and no longer receives updates #29455
- Deprecate the
repo:shortidsyntax ondocker pull#27207 - Deprecate backing filesystem without
d_typefor overlay and overlay2 storage drivers #27433 - Deprecate
MAINTAINERin Dockerfile #25466 - Deprecate
filterparam for endpoint/images/json#27872 - Deprecate setting duplicate engine labels #24533
- Deprecate "top-level" network information in
NetworkSettings#28437
1.12.6 (2017-01-10)
ImportantDocker 1.12 ships with an updated systemd unit file for rpm based installs (which includes RHEL, Fedora, CentOS, and Oracle Linux 7). When upgrading from an older version of Docker, the upgrade process may not automatically install the updated version of the unit file, or fail to start the
docker serviceif;
- the systemd unit file (
/usr/lib/systemd/system/docker.service) contains local changes, or- a systemd drop-in file is present, and contains
-H fd://in theExecStartdirective
Starting the docker service will produce an error:
Failed to start docker.service: Unit docker.socket failed to load: No such file or directory.
or
no sockets found via socket activation: make sure the service was started by systemd.
To resolve this:
- Backup the current version of the unit file, and replace the file with the version that ships with docker 1.12
- Remove the
Requires=docker.socketdirective from the/usr/lib/systemd/system/docker.servicefile if present - Remove
-H fd://from theExecStartdirective (both in the main unit file, and in any drop-in files present).
After making those changes, run sudo systemctl daemon-reload, and sudo systemctl restart docker to reload changes and (re)start the docker daemon.
NoteDocker 1.12.5 will correctly validate that either an IPv6 subnet is provided or that the IPAM driver can provide one when you specify the
--ipv6option.
If you are currently using the --ipv6 option without specifying the
--fixed-cidr-v6 option, the Docker daemon will refuse to start with the
following message:
Error starting daemon: Error initializing network controller: Error creating
default "bridge" network: failed to parse pool request
for address space "LocalDefault" pool " subpool ":
could not find an available, non-overlapping IPv6 address
pool among the defaults to assign to the networkTo resolve this error, either remove the --ipv6 flag (to preserve the same
behavior as in Docker 1.12.3 and earlier), or provide an IPv6 subnet as the
value of the --fixed-cidr-v6 flag.
In a similar way, if you specify the --ipv6 flag when creating a network
with the default IPAM driver, without providing an IPv6 --subnet, network
creation will fail with the following message:
Error response from daemon: failed to parse pool request for address space
"LocalDefault" pool "" subpool "": could not find an
available, non-overlapping IPv6 address pool among
the defaults to assign to the networkTo resolve this, either remove the --ipv6 flag (to preserve the same behavior
as in Docker 1.12.3 and earlier), or provide an IPv6 subnet as the value of the
--subnet flag.
The network creation will instead succeed if you use an external IPAM driver which supports automatic allocation of IPv6 subnets.
Runtime
- Fix runC privilege escalation (CVE-2016-9962)
1.12.5 (2016-12-15)
ImportantDocker 1.12 ships with an updated systemd unit file for rpm based installs (which includes RHEL, Fedora, CentOS, and Oracle Linux 7). When upgrading from an older version of Docker, the upgrade process may not automatically install the updated version of the unit file, or fail to start the
docker serviceif;
- the systemd unit file (
/usr/lib/systemd/system/docker.service) contains local changes, or- a systemd drop-in file is present, and contains
-H fd://in theExecStartdirective
Starting the docker service will produce an error:
Failed to start docker.service: Unit docker.socket failed to load: No such file or directory.
or
no sockets found via socket activation: make sure the service was started by systemd.
To resolve this:
- Backup the current version of the unit file, and replace the file with the version that ships with docker 1.12
- Remove the
Requires=docker.socketdirective from the/usr/lib/systemd/system/docker.servicefile if present - Remove
-H fd://from theExecStartdirective (both in the main unit file, and in any drop-in files present).
After making those changes, run sudo systemctl daemon-reload, and sudo systemctl restart docker to reload changes and (re)start the docker daemon.
NoteDocker 1.12.5 will correctly validate that either an IPv6 subnet is provided or that the IPAM driver can provide one when you specify the
--ipv6option.
If you are currently using the --ipv6 option without specifying the
--fixed-cidr-v6 option, the Docker daemon will refuse to start with the
following message:
Error starting daemon: Error initializing network controller: Error creating
default "bridge" network: failed to parse pool request
for address space "LocalDefault" pool " subpool ":
could not find an available, non-overlapping IPv6 address
pool among the defaults to assign to the networkTo resolve this error, either remove the --ipv6 flag (to preserve the same
behavior as in Docker 1.12.3 and earlier), or provide an IPv6 subnet as the
value of the --fixed-cidr-v6 flag.
In a similar way, if you specify the --ipv6 flag when creating a network
with the default IPAM driver, without providing an IPv6 --subnet, network
creation will fail with the following message:
Error response from daemon: failed to parse pool request for address space
"LocalDefault" pool "" subpool "": could not find an
available, non-overlapping IPv6 address pool among
the defaults to assign to the networkTo resolve this, either remove the --ipv6 flag (to preserve the same behavior
as in Docker 1.12.3 and earlier), or provide an IPv6 subnet as the value of the
--subnet flag.
The network network creation will instead succeed if you use an external IPAM driver which supports automatic allocation of IPv6 subnets.
Runtime
- Fix race on sending stdin close event #29424
Networking
- Fix panic in docker network ls when a network was created with
--ipv6and no ipv6--subnetin older docker versions #29416
Contrib
- Fix compilation on Darwin #29370
1.12.4 (2016-12-12)
ImportantDocker 1.12 ships with an updated systemd unit file for rpm based installs (which includes RHEL, Fedora, CentOS, and Oracle Linux 7). When upgrading from an older version of Docker, the upgrade process may not automatically install the updated version of the unit file, or fail to start the
docker serviceif;
- the systemd unit file (
/usr/lib/systemd/system/docker.service) contains local changes, or- a systemd drop-in file is present, and contains
-H fd://in theExecStartdirective
Starting the docker service will produce an error:
Failed to start docker.service: Unit docker.socket failed to load: No such file or directory.
or
no sockets found via socket activation: make sure the service was started by systemd.
To resolve this:
- Backup the current version of the unit file, and replace the file with the version that ships with docker 1.12
- Remove the
Requires=docker.socketdirective from the/usr/lib/systemd/system/docker.servicefile if present - Remove
-H fd://from theExecStartdirective (both in the main unit file, and in any drop-in files present).
After making those changes, run sudo systemctl daemon-reload, and sudo systemctl restart docker to reload changes and (re)start the docker daemon.
Runtime
- Fix issue where volume metadata was not removed #29083
- Asynchronously close streams to prevent holding container lock #29050
- Fix selinux labels for newly created container volumes #29050
- Remove hostname validation #28990
- Fix deadlocks caused by IO races #29095 #29141
- Return an empty stats if the container is restarting #29150
- Fix volume store locking #29151
- Ensure consistent status code in API #29150
- Fix incorrect opaque directory permission in overlay2 #29093
- Detect plugin content and error out on
docker pull#29297
Swarm Mode
- Update Swarmkit #29047
- orchestrator/global: Fix deadlock on updates docker/swarmkit#1760
- on leader switchover preserve the vxlan id for existing networks docker/swarmkit#1773
- Refuse swarm spec not named "default" #29152
Networking
- Update libnetwork #29004 #29146
- Fix panic in embedded DNS docker/libnetwork#1561
- Fix unmarhalling panic when passing --link-local-ip on global scope network docker/libnetwork#1564
- Fix panic when network plugin returns nil StaticRoutes docker/libnetwork#1563
- Fix panic in
osl.(*networkNamespace).DeleteNeighbordocker/libnetwork#1555 - Fix panic in swarm networking concurrent map read/write docker/libnetwork#1570
- Allow encrypted networks when running docker inside a container docker/libnetwork#1502
- Do not block autoallocation of IPv6 pool docker/libnetwork#1538
- Set timeout for netlink calls docker/libnetwork#1557
- Increase networking local store timeout to one minute docker/libkv#140
- Fix a panic in
libnetwork.(*sandbox).execFuncdocker/libnetwork#1556 - Honor icc=false for internal networks docker/libnetwork#1525
Logging
- Update syslog log driver #29150
Contrib
- Run "dnf upgrade" before installing in fedora #29150
- Add build-date back to RPM packages #29150
- deb package filename changed to include distribution to distinguish between distribution code names #27829
1.12.3 (2016-10-26)
ImportantDocker 1.12 ships with an updated systemd unit file for rpm based installs (which includes RHEL, Fedora, CentOS, and Oracle Linux 7). When upgrading from an older version of Docker, the upgrade process may not automatically install the updated version of the unit file, or fail to start the Docker service if;
- the systemd unit file (
/usr/lib/systemd/system/docker.service) contains local changes, or- a systemd drop-in file is present, and contains
-H fd://in theExecStartdirective
Starting the docker service will produce an error:
Failed to start docker.service: Unit docker.socket failed to load: No such file or directory.
or
no sockets found via socket activation: make sure the service was started by systemd.
To resolve this:
- Backup the current version of the unit file, and replace the file with the version that ships with docker 1.12
- Remove the
Requires=docker.socketdirective from the/usr/lib/systemd/system/docker.servicefile if present - Remove
-H fd://from theExecStartdirective (both in the main unit file, and in any drop-in files present).
After making those changes, run sudo systemctl daemon-reload, and sudo systemctl restart docker to reload changes and (re)start the docker daemon.
Runtime
- Fix ambient capability usage in containers (CVE-2016-8867) #27610
- Prevent a deadlock in libcontainerd for Windows #27136
- Fix error reporting in CopyFileWithTar #27075
- Reset health status to starting when a container is restarted #27387
- Properly handle shared mount propagation in storage directory #27609
Swarm Mode
- Fix conversion of restart-policy #27062
- Update Swarmkit #27554
- Avoid restarting a task that has already been restarted docker/swarmkit#1305
- Allow duplicate published ports when they use different protocols docker/swarmkit#1632
- Allow multiple randomly assigned published ports on service docker/swarmkit#1657
- Fix panic when allocations happen at init time docker/swarmkit#1651
Networking
- Update libnetwork #27559
- Fix race in serializing sandbox to string docker/libnetwork#1495
- Fix race during deletion docker/libnetwork#1503
- Reset endpoint port info on connectivity revoke in bridge driver docker/libnetwork#1504
- Fix a deadlock in networking code docker/libnetwork#1507
- Fix a race in load balancer state docker/libnetwork#1512
Logging
- Update fluent-logger-golang to v1.2.1 #27474
Contrib
1.12.2 (2016-10-11)
ImportantDocker 1.12 ships with an updated systemd unit file for rpm based installs (which includes RHEL, Fedora, CentOS, and Oracle Linux 7). When upgrading from an older version of Docker, the upgrade process may not automatically install the updated version of the unit file, or fail to start the
docker serviceif;
- the systemd unit file (
/usr/lib/systemd/system/docker.service) contains local changes, or- a systemd drop-in file is present, and contains
-H fd://in theExecStartdirective
Starting the docker service will produce an error:
Failed to start docker.service: Unit docker.socket failed to load: No such file or directory.
or
no sockets found via socket activation: make sure the service was started by systemd.
To resolve this:
- Backup the current version of the unit file, and replace the file with the version that ships with docker 1.12
- Remove the
Requires=docker.socketdirective from the/usr/lib/systemd/system/docker.servicefile if present - Remove
-H fd://from theExecStartdirective (both in the main unit file, and in any drop-in files present).
After making those changes, run sudo systemctl daemon-reload, and sudo systemctl restart docker to reload changes and (re)start the docker daemon.
Runtime
- Fix a panic due to a race condition filtering
docker ps#26049
- Implement retry logic to prevent "Unable to remove filesystem" errors when using the aufs storage driver #26536
- Prevent devicemapper from removing device symlinks if
dm.use_deferred_removalis enabled #24740
- Fix an issue where the CLI did not return correct exit codes if a command was run with invalid options #26777
- Fix a panic due to a bug in stdout / stderr processing in health checks #26507
- Fix exec's children handling #26874
- Fix exec form of HEALTHCHECK CMD #26208
Networking
- Fix a daemon start panic on armv5 #24315
- Vendor libnetwork #26879 #26953
- Avoid returning early on agent join failures docker/libnetwork#1473
- Fix service published port cleanup issues docker/libetwork#1432 docker/libnetwork#1433
- Recover properly from transient gossip failures docker/libnetwork#1446
- Disambiguate node names known to gossip cluster to avoid node name collision docker/libnetwork#1451
- Honor user provided listen address for gossip docker/libnetwork#1460
- Allow reachability via published port across services on the same host docker/libnetwork#1398
- Change the ingress sandbox name from random id to just
ingress_sboxdocker/libnetwork#1449
- Disable service discovery in ingress network docker/libnetwork#1489
Swarm Mode
- Fix remote detection of a node's address when it joins the cluster #26211
- Vendor SwarmKit #26765
- Bounce session after failed status update docker/swarmkit#1539
- Fix possible raft deadlocks docker/swarmkit#1537
- Fix panic and endpoint leak when a service is updated with no endpoints docker/swarmkit#1481
- Produce an error if the same port is published twice on
service createorservice updatedocker/swarmkit#1495
- Fix an issue where changes to a service were not detected, resulting in the service not being updated docker/swarmkit#1497
- Do not allow service creation on ingress network docker/swarmkit#1600
Contrib
- Update the debian sysv-init script to use
dockerdinstead ofdocker daemon#25869 - Improve stability when running the docker client on MacOS Sierra #26875
- Fix installation on debian stretch #27184
Windows
- Fix an issue where arrow-navigation did not work when running the docker client in ConEmu #25578
1.12.1 (2016-08-18)
ImportantDocker 1.12 ships with an updated systemd unit file for rpm based installs (which includes RHEL, Fedora, CentOS, and Oracle Linux 7). When upgrading from an older version of Docker, the upgrade process may not automatically install the updated version of the unit file, or fail to start the
docker serviceif;
- the systemd unit file (
/usr/lib/systemd/system/docker.service) contains local changes, or- a systemd drop-in file is present, and contains
-H fd://in theExecStartdirective
Starting the docker service will produce an error:
Failed to start docker.service: Unit docker.socket failed to load: No such file or directory.
or
no sockets found via socket activation: make sure the service was started by systemd.
To resolve this:
- Backup the current version of the unit file, and replace the file with the version that ships with docker 1.12
- Remove the
Requires=docker.socketdirective from the/usr/lib/systemd/system/docker.servicefile if present - Remove
-H fd://from theExecStartdirective (both in the main unit file, and in any drop-in files present).
After making those changes, run sudo systemctl daemon-reload, and sudo systemctl restart docker to reload changes and (re)start the docker daemon.
Client
- Add
Joined atinformation innode inspect --pretty#25512
- Fix a crash on
service inspect#25454 - Fix issue preventing
service update --env-addto work as intended #25427 - Fix issue preventing
service update --publish-addto work as intended #25428 - Remove
service update --network-addandservice update --network-rmflags because this feature is not yet implemented in 1.12, but was inadvertently added to the client in 1.12.0 #25646
Contrib
- Add selinux policy per distribution/version, fixing issue preventing successful installation on Fedora 24, and Oracle Linux #25334 #25593
Networking
- Fix issue that prevented containers to be accessed by hostname with Docker overlay driver in Swarm Mode #25603 #25648
- Fix random network issues on service with published port #25603
- Fix unreliable inter-service communication after scaling down and up #25603
- Fix issue where removing all tasks on a node and adding them back breaks connectivity with other services #25603
- Fix issue where a task that fails to start results in a race, causing a
network xxx not founderror that masks the actual error #25550 - Relax validation of SRV records for external services that use SRV records not formatted according to RFC 2782 #25739
Plugins (experimental)
- Make daemon events listen for plugin lifecycle events #24760
- Check for plugin state before enabling plugin #25033
- Remove plugin root from filesystem on
plugin rm#25187 - Prevent deadlock when more than one plugin is installed #25384
Runtime
- Mask join tokens in daemon logs #25346
- Fix
docker ps --filtercausing the results to no longer be sorted by creation time #25387 - Fix various crashes #25053
Security
- Add
/proc/timer_listto the masked paths list to prevent information leak from the host #25630 - Allow systemd to run with only
--cap-add SYS_ADMINrather than having to also add--cap-add DAC_READ_SEARCHor disabling seccomp filtering #25567
Swarm
- Fix an issue where the swarm can get stuck electing a new leader after quorum is lost #25055
- Fix unwanted rescheduling of containers after a leader failover #25017
- Change swarm root CA key to P256 curve swarmkit#1376
- Allow forced removal of a node from a swarm #25159
- Fix connection leak when a node leaves a swarm swarmkit/#1277
- Backdate swarm certificates by one hour to tolerate more clock skew swarmkit/#1243
- Avoid high CPU use with many unschedulable tasks swarmkit/#1287
- Fix issue with global tasks not starting up swarmkit/#1295
- Garbage collect raft logs swarmkit/#1327
Volume
- Persist local volume options after a daemon restart #25316
- Fix an issue where the mount ID was not returned on volume unmount #25333
- Fix an issue where a volume mount could inadvertently create a bind mount #25309
docker service create --mount type=bind,...now correctly validates if the source path exists, instead of creating it #25494
1.12.0 (2016-07-28)
ImportantDocker 1.12.0 ships with an updated systemd unit file for rpm based installs (which includes RHEL, Fedora, CentOS, and Oracle Linux 7). When upgrading from an older version of Docker, the upgrade process may not automatically install the updated version of the unit file, or fail to start the
docker serviceif;
- the systemd unit file (
/usr/lib/systemd/system/docker.service) contains local changes, or- a systemd drop-in file is present, and contains
-H fd://in theExecStartdirective
Starting the docker service will produce an error:
Failed to start docker.service: Unit docker.socket failed to load: No such file or directory.
or
no sockets found via socket activation: make sure the service was started by systemd.
To resolve this:
- Backup the current version of the unit file, and replace the file with the version that ships with docker 1.12
- Remove the
Requires=docker.socketdirective from the/usr/lib/systemd/system/docker.servicefile if present
ImportantDocker 1.12.0 viene con un archivo de unidad systemd actualizado para instalaciones basadas en rpm (que incluye RHEL, Fedora, CentOS y Oracle Linux 7). Al actualizar desde una versión anterior de Docker, es posible que el proceso de actualización no instale automáticamente la versión actualizada del archivo de unidad, o que no inicie el
docker servicesi:
- el archivo de unidad systemd (
/usr/lib/systemd/system/docker.service) contiene cambios locales, o- está presente un archivo drop-in de systemd, y contiene
-H fd://en la directivaExecStart
Al iniciar el docker service se producirá un error:
Failed to start docker.service: Unit docker.socket failed to load: No such file or directory.
o
no sockets found via socket activation: make sure the service was started by systemd.
Para resolver esto:
- Realiza una copia de seguridad de la versión actual del archivo de unidad y reemplaza el archivo con la versión que se incluye con docker 1.12
- Elimina la directiva
Requires=docker.socketdel archivo/usr/lib/systemd/system/docker.servicesi está presente - Elimina
-H fd://de la directivaExecStart(tanto en el archivo de unidad principal como en cualquier archivo drop-in presente).
Después de realizar esos cambios, ejecuta sudo systemctl daemon-reload y sudo systemctl restart docker para recargar los cambios e iniciar (o reiniciar) el demonio de docker.
ImportantCon Docker 1.12, una instalación de
dockeren Linux ahora tiene dos binarios adicionales;dockerdydocker-proxy. Si tienes scripts para instalardocker, asegúrate de actualizarlos en consecuencia.
Constructor (Builder)
- Nueva instrucción
HEALTHCHECKen Dockerfile para admitir verificaciones de salud definidas por el usuario #23218 - Nueva instrucción
SHELLen Dockerfile para especificar el shell predeterminado al usar la forma de shell para comandos en un Dockerfile #22489 - Añadir la directiva
#escape=de Dockerfile para admitir el análisis específico de la plataforma de rutas de archivos en Dockerfile #22268 - Añadir soporte para comentarios en
.dockerignore#23111
- Soporte para UTF-8 en Dockerfiles #23372
- Omitir los bytes BOM UTF-8 de
Dockerfiley.dockerignoresi existen #23234 - Windows: soporte para
ARGpara coincidir con Linux #22508
- Corregir mensaje de error al construir usando un demonio con la red bridge deshabilitada #22932
Contrib
- Habilitar seccomp para Centos 7 y Oracle Linux 7 #22344
- Eliminar MountFlags en la unidad de systemd para permitir la propagación de montajes compartidos #22806
Distribución
- Añadir las banderas del demonio
--max-concurrent-downloadsy--max-concurrent-uploadsútiles para situaciones en las que las conexiones de red no admiten múltiples descargas/cargas #22445
- Las operaciones de registro ahora respetan la variable de entorno
ALL_PROXY#22316 - Proporcionar más información al usuario en
docker load#23377 - Guardar siempre los metadatos del digest del registro sobre las imágenes enviadas (pushed) y descargadas (pulled) #23996
Registros (Logging)
- El controlador de registro Syslog ahora admite sockets DGRAM #21613
- Añadir la opción
--detailsadocker logspara mostrar también etiquetas de registro #21889 - Permitir que el registrador syslog tenga acceso a env y etiquetas #21724
- Una opción adicional de formato syslog
rfc5424micropara permitir resolución de microsegundos en la marca de tiempo de syslog #21844
- Heredar las opciones de log del demonio al crear contenedores #21153
- Eliminar el prefijo
docker/de las etiquetas de mensajes de log y reemplazarlo con{{.DaemonName}}para que los usuarios tengan la opción de cambiar el prefijo #22384
Redes
- Balanceo de carga interno y de ingreso basado en IP virtual (VIP) integrado usando IPVS #23361
- Malla de enrutamiento (Routing Mesh) usando red superpuesta de ingreso #23361
- Redes superpuestas multihost aseguradas usando plano de control y plano de datos cifrados #23361
- El controlador MacVlan sale de experimental #23524
- Añadir el filtro
driveranetwork ls#22319 - Añadir el filtro
networkadocker ps --filter#23300 - Añadir la bandera
--link-local-ipacreate,runynetwork connectpara especificar la dirección link-local de un contenedor #23415 - Añadir soporte para filtro de etiquetas de red #21495
- Eliminar la dependencia de un almacén KV externo para redes superpuestas en Swarm Mode #23361
- Añadir el short-id del contenedor como alias de red predenterminado #21901
- Las opciones de
run--dnsy--net=hostya no son mutuamente excluyentes #22408
- Corregir problema de DNS al renombrar contenedores con nombres generados #22716
- Permitir tanto
network inspect -f {{.Id}}comonetwork inspect -f {{.ID}}para solucionar la inconsistencia en la salida de inspect #23226
Plugins (experimental)
- Nuevo comando
pluginpara gestionar plugins con los subcomandosinstall,enable,disable,rm,inspect,set#23446
API remota (v1.24) y Cliente
- Dividir el binario en dos:
docker(cliente) ydockerd(demonio) #20639 - Añadir filtros
beforeysinceadocker images --filter#22908 - Añadir la opción
--limitadocker search#23107 - Añadir la opción
--filteradocker search#22369 - Añadir opciones de seguridad a la salida de
docker info#21172 #23520 - Añadir registros no seguros a la salida de
docker info#20410 - Extender la autorización de Docker con información de usuario TLS #21556
- devicemapper: exponer el espacio libre mínimo del thin pool a través de
docker info#21945
- La API ahora devuelve un objeto JSON cuando ocurre un error para que sea más consistente #22880
- Evitar que
docker run -i --restartse cuelgue al salir #22777 - Corregir discrepancia entre API/CLI en la validación del nombre de host #21641
- Corregir discrepancia en el formato de los tamaños en
statsde HumanSize a BytesSize #21773 - authz: cuando se deniega la solicitud, devolver código de salida de prohibido (403) #22448
- Windows: corregir problemas de visualización relacionados con tty #23878
Tiempo de ejecución
- Dividir el proxy de espacio de usuario en un binario separado (
docker-proxy) #23312 - Añadir la bandera del demonio
--live-restorepara mantener los contenedores en ejecución cuando el demonio se apaga, y recuperar el control al arrancar #23213 - Capacidad para añadir tiempos de ejecución compatibles con OCI (a través de la bandera del demonio
--add-runtime) y seleccionar uno con--runtimeencreateyrun#22983 - Nuevo controlador gráfico
overlay2para Linux 4.0+ con soporte para múltiples directorios inferiores #22126 - Nuevos eventos de carga/guardado de imágenes #22137
- Añadir soporte para recargar la configuración del demonio a través de systemd #22446
- Añadir soporte de cuota de disco para btrfs #19651
- Añadir soporte de cuota de disco para zfs #21946
- Añadir soporte para
docker run --pid=container:<id>#22481 - Alinear el perfil seccomp predeterminado con las capacidades seleccionadas #22554
- Añadir un evento
daemon reloadcuando el demonio recarga su configuración #22590 - Añadir capacidad de
traceen el analizador pprof para mostrar trazas de ejecución en formato binario #22715 - Añadir un evento
detach#22898 - Añadir soporte para configurar sysctls con
--sysctl#19265 - Añadir la bandera
--storage-optacreateyrunpermitiendo establecersizeen devicemapper #19367 - Añadir la bandera del demonio
--oom-score-adjustcon un valor predeterminado de-500haciendo que el demonio tenga menos probabilidades de ser finalizado antes que los contenedores #24516
- No desaprobar el alias corto
-cde--cpu-sharesenrun,build,create,update#22621 - Evitar el uso de los controladores gráficos aufs y overlay en un montaje eCryptfs #23121
- Corregir problemas con el orden de montaje de tmpfs #22329
- Los contenedores creados ya no se listan en
docker ps -a -f exited=0#21947 - Corregir un problema donde los contenedores se quedan atascados en un estado de "Removal In Progress" #22423
- Corregir error que devolvía un HTTP 500 en lugar de un 400 cuando no se especificaba un comando en run/create #22762
- Corregir error con
--detach-keysdonde la entrada que coincidía con un prefijo de la tecla de desanclaje no se conservaba #22943 - El etiquetado SELinux ahora está deshabilitado al usar el modo
--privileged#22993 - Si se montan volúmenes en un contenedor,
/etc/hosts,/etc/resolv.conf,/etc/hostnameya no reciben etiquetas SELinux #22993 - Corregir inconsistencia en el comportamiento de
--tmpfscon respecto a las opciones de montaje #22438 - Corregir un problema donde el demonio se cuelga al iniciar #23148
- Ignorar eventos SIGPIPE para evitar que los reinicios de journald bloqueen Docker en algunos casos #22460
- Los contenedores no se eliminan de la lista de estadísticas en caso de error #20835
- Corregir la política de reinicio
on-failurecuando el demonio se reinicia #20853 - Corregir un problema con
statscuando un contenedor está usando la red de otro contenedor #21904
Swarm Mode
- Nuevo comando
swarmpara gestionar swarms con los subcomandosinit,join,join-token,leave,update#23361 #24823 - Nuevo comando
servicepara gestionar servicios en todo el swarm con los subcomandoscreate,inspect,update,rm,ps#23361 #25140 - Nuevo comando
nodepara gestionar nodos con los subcomandosaccept,promote,demote,inspect,update,ps,lsyrm#23361 #25140 - (experimental) Nuevos comandos
stackydeploypara gestionar y desplegar aplicaciones multiservicio #23522 #25140
Volúmenes
- Añadir soporte para ámbitos de volumen locales y globales (análogos a los ámbitos de red) #22077
- Permitir que los controladores de volumen proporcionen un campo
Status#21006 - Añadir soporte de filtro por nombre/controlador para volumen #21361
- Las operaciones de montaje/desmontaje ahora reciben un ID opaco para permitir a los controladores de volumen diferenciar entre dos llamadores #21015
- Corregir problema que impedía eliminar un volumen en un caso extremo #22103
- Windows: habilitar la creación automática de la ruta del host para coincidir con Linux #22094
Depreciaciones
- Las variables de entorno
DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASEyDOCKER_CONTENT_TRUST_TAGGING_PASSPHRASEhan sido renombradas aDOCKER_CONTENT_TRUST_ROOT_PASSPHRASEyDOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASErespectivamente #22574 - Eliminar las opciones de registro depreciadas
syslog-tag,gelf-tag,fluentd-tagen favor de la más genéricatag#22620 - Eliminar la característica depreciada de pasar HostConfig al iniciar un contenedor de la API #22570
- Eliminar la bandera depreciada
-f/--forceen docker tag #23090 - Eliminar el punto de conexión depreciado
/containers/<id|name>/copy#22149 - Eliminar las banderas depreciadas de
docker ps--sincey--before#22138 - Depreciar la antigua forma de 3 argumentos de
docker import#23273
1.11.2 (2016-05-31)
Redes
- Corregir un problema de punto de conexión obsoleto en redes superpuestas durante un reinicio abrupto (#23015)
- Corregir un problema donde
docker inspect/ps/portpodía reportar un puerto incorrecto (#22997)
Tiempo de ejecución
- Corregir un pánico potencial al ejecutar
docker build(#23032) - Corregir la interpretación del parámetro
--user(#22998) - Corregir un error que impedía que las estadísticas del contenedor se reportaran correctamente (#22955)
- Corregir un problema que impedía reiniciar el contenedor después de reiniciar el demonio (#22947)
- Corregir problemas al ejecutar binarios de 32 bits en Ubuntu 16.04 (#22922)
- Corregir un posible bloqueo mutuo en la eliminación de imágenes y conexión de contenedores (#22918)
- Corregir un problema que impedía que los contenedores se iniciaran después de reiniciar el demonio si dependían de un almacén de clúster contenedorizado (#22561)
- Corregir un problema que causaba que
docker psse colgara en CentOS al usar devicemapper (#22168, #23067) - Corregir un error que impedía hacer
docker execen un contenedor al usar devicemapper (#22168, #23067)
1.11.1 (2016-04-26)
Distribución
- Corregir el tipo de medio del manifiesto schema2 para que sea del tipo
application/vnd.docker.container.image.v1+json(#21949)
Documentación
- Añadir la documentación de la API que faltaba para los cambios introducidos con 1.11.0 (#22048)
Constructor (Builder)
- Adjuntar la etiqueta pasada a
docker buildcomo argumentos como un comandoLABELimplícito al final delDockerfileprocesado (#22184)
Redes
- Corregir un pánico que ocurría al reenviar consultas DNS (#22261)
- Corregir un problema donde los hilos del sistema operativo podían terminar en un espacio de nombres de red incorrecto al usar redes definidas por el usuario (#22261)
Tiempo de ejecución
- Corregir un error que impedía que la configuración de etiquetas se recargara a través del archivo de configuración (#22299)
- Corregir una regresión donde un contenedor que montaba
/var/runimpedía que otros contenedores fueran eliminados (#22256) - Corregir un problema donde era imposible actualizar el valor de
memory-swapymemoryjuntos (#22255) - Corregir una regresión de 1.11.0 donde el punto de conexión
/authno inicializabaserveraddresssi no se proporcionaba (#22254) - Añadir la limpieza faltante de archivos temporales del contenedor al cancelar un reinicio programado (#22237)
- Eliminar el mensaje de error alarmante cuando no se especifica ninguna política de reinicio (#21993)
- Corregir un pánico que ocurría cuando los plugins se activaban a través de la especificación json (#22191)
- Corregir la lógica de retroceso de reinicio para restablecer correctamente el retraso si el contenedor se ejecutó durante al menos 10 segundos (#22125)
- Eliminar el mensaje de error cuando se cancela el reinicio de un contenedor (#22123)
- Corregir un problema donde
dockerno se limpiaba correctamente después dedocker exec(#22121) - Corregir un pánico que podía ocurrir al servir comandos
docker statsconcurrentes (#22120) - Revertir la depreciación de la creación automática de directorios del host inexistentes (#22065)
- Ocultar mensaje de error rpc engañoso al apagar el demonio (#22058)
1.11.0 (2016-04-13)
ImportantCon Docker 1.11, una instalación de Docker en Linux ahora consta de 4 binarios (
docker,docker-containerd,docker-containerd-shimydocker-runc). Si tienes scripts que dependen de quedockersea un único binario estático, asegúrate de actualizarlos. Por lo demás, la interacción con el demonio sigue siendo la misma, el uso de los otros binarios debería ser transparente. Una instalación de Docker en Windows sigue siendo un único binario,docker.exe.
Constructor (Builder)
- Corregir un error donde Docker no usaba el uid/gid correcto al procesar el comando
WORKDIR(#21033) - Corregir un error donde las operaciones de copia con userns no usaban el uid/gid adecuado (#20782, #21162)
Cliente
- El uso del separador
:para la opción de seguridad ha sido desaprobado. Se debe usar=en su lugar (#21232)
- El agente de usuario del cliente ahora se pasa al registro en las operaciones
pull,build,push,loginysearch(#21306, #21373)
- Permitir configurar el Domainname y Hostname por separado a través de la API (#20200)
docker infoahora advertirá a los usuarios si no puede detectar la versión del kernel o el sistema operativo (#21128)
- Corregir un problema donde la salida de
docker stats --no-streampodía ser todo ceros (#20803) - Corregir un error donde algunos contenedores recién iniciados no aparecían en un comando
docker statsen ejecución (#20792)
- El postprocesamiento ya no está habilitado para terminales linux-cgo (#20587)
- Docker aprendió cómo usar un proxy SOCKS (#20366, #18373)
- Docker ahora admite almacenes de credenciales externos (#20107)
docker psahora admite mostrar la lista de volúmenes montados dentro de un contenedor (#20017)docker infoahora también reporta la ubicación del directorio raíz de Docker (#19986)
- Docker ahora prohíbe iniciar sesión con un nombre de usuario vacío (se eliminan los espacios) (#19806)
- Los atributos de los eventos de Docker ahora se ordenan por clave (#19761)
docker psya no muestra el puerto expuesto para contenedores detenidos (#19483)
- Docker ahora se limpia a sí mismo si un comando save/export falla (#17849)
Distribución
- Corregir un pánico que ocurría al descargar una imagen con 0 capas (#21222)
- Corregir un pánico que podía ocurrir por error al enviar a un registro con un servicio de tokens mal configurado (#21212)
- Todos los roles de delegación de primer nivel ahora se firman al realizar un push confiable (#21046)
- Se añadió soporte OAuth para registros (#20970)
docker loginahora maneja el token utilizando la implementación que se encuentra en docker/distribution (#20832)docker loginya no solicitará un correo electrónico (#20565)- Docker ahora recurrirá al registro V1 si no hay credenciales básicas de autenticación disponibles (#20241)
- Docker ahora intentará reanudar la descarga de capas donde la dejó después de un error/tiempo de espera de red (#19840)
- Corregir el manifest mediaType generado al hacer push entre repositorios (#19509)
- Corregir que Docker solicite credenciales de push adicionales al descargar una imagen si Content Trust está habilitado (#20382)
Registros (Logging)
- Corregir una carrera en el controlador de logs de journald (#21311)
- El controlador syslog de Docker ahora usa el formato RFC-5424 al emitir logs (#20121)
- El controlador de logs GELF de Docker ahora permite especificar el algoritmo y nivel de compresión a través de las opciones
gelf-compression-typeygelf-compression-level(#19831) - El demonio de Docker aprendió a emitir logs sin color a través de la opción
--raw-logs(#19794)
- Docker, en la plataforma Windows, ahora incluye un controlador de registro ETW (Event Tracing in Windows) llamado
etwlogs(#19689)
- El controlador de logs de journald aprendió a manejar etiquetas (#19564)
- El controlador de logs fluentd aprendió las siguientes opciones:
fluentd-address,fluentd-buffer-limit,fluentd-retry-wait,fluentd-max-retriesyfluentd-async-connect(#19439) - Docker aprendió a enviar logs a Google Cloud a través del nuevo controlador de registro
gcplogs(#18766)
Varios (Misc)
- Al guardar imágenes enlazadas juntas con
docker saveuna carga subsiguiente condocker loadrestaurará correctamente su relación padre/hijo (#21385) - Se añadió soporte para compilar el cliente de Docker para OpenBSD (#21325)
- Ahora se pueden aplicar etiquetas en la creación de redes, volúmenes e imágenes (#21270)
dockremapahora se crea como un usuario del sistema (#21266)
- Corregir algunas fugas en el cuerpo de la respuesta (#21258)
- Docker, cuando se ejecuta como servicio con systemd, ahora gestionará adecuadamente los cgroups de sus procesos (#20633)
docker infoahora reporta el valor de cgroup KernelMemory o emite una advertencia si no es compatible (#20863)docker infoahora también reporta el controlador cgroup en uso (#20388)- Completado automático de Docker ahora está disponible en PowerShell (#19894)
dockerinitya no existe (#19490,#19851)
- Se añadió soporte para compilar Docker en arm64 (#19013)
- Soporte experimental para compilar docker.exe en una instalación nativa de Docker en Windows (#18348)
Redes
- Corregir pánico si un nodo se elimina por la fuerza del clúster (#21671)
- Corregir "error al crear interfaz vxlan" al iniciar un contenedor en un clúster Swarm (#21671)
docker network inspectahora informará sobre todos los puntos de conexión, tengan o no un contenedor activo (#21160)
- Se añadió soporte experimental para los controladores de red MacVlan e IPVlan (#21122)
- La salida de
docker network lsahora está ordenada por nombre de red (#20383)
- Corregir un error donde Docker permitía que una red fuera creada con el nombre reservado
default(#19431)
docker network inspectdevuelve si una red es interna o no (#19357)
- Controlar IPv6 a través de una opción explícita al crear una red (
docker network create --ipv6). Esto se muestra como un nuevo campoEnableIPv6endocker network inspect(#17513)
- Soporte para registros AAAA (también conocido como descubrimiento de servicios IPv6) en el servidor DNS integrado (#21396)
- Corregir que no se reenvíen consultas DNS IPv6 del dominio docker a servidores externos (#21396)
- Múltiples registros A/AAAA del servidor DNS integrado para Round robin de DNS (#21019)
- Corregir inconsistencia en el recuento de puntos de conexión después de un reinicio abrupto del demonio (#21261)
- Mover la propiedad de los puertos expuestos y las opciones de mapeo de puertos de Endpoint a Sandbox (#21019)
- Se corrigió un error que impide la recarga de docker cuando el host está configurado con ipv6.disable=1 (#21019)
- Se añadió un controlador IPAM nil integrado (#21019)
- Se corrigió un error en la lógica de iptables.Exists() #21019
- Se corrigió una fuga de interfaz Veth al usar la red superpuesta (#21019)
- Se corrigió un error que impide la recarga de docker después de una eliminación de red durante el apagado (#20214)
- Asegurarse de que las cadenas de iptables se vuelvan a crear al recargar firewalld (#20419)
- Permitir pasar el almacén de datos global durante la recarga de configuración (#20419)
- Para contenedores anónimos use el nombre de alias para el mapeo de IP a nombre, es decir: registro DNS PTR (#21019)
- Corregir un pánico al eliminar una entrada del archivo /etc/hosts (#21019)
- Obtener las consultas DNS reenviadas desde el espacio de nombres de red del contenedor (#21019)
- Corregir la retención de la configuración del modo interno de red para redes de puente en la recarga del demonio (#21780)
- Corregir la retención de las opciones de configuración del controlador IPAM al recargar el demonio (#21914)
Plugins
- Corregir una fuga de descriptores de archivo que ocurría cada vez que se enumeraban los plugins (#20686)
- Corregir un problema donde el plugin Authz corrompía el cuerpo del payload cuando se enfrentaba a una gran cantidad de datos (#20602)
Tiempo de ejecución
- Corregir un pánico que podía ocurrir al realizar la limpieza después de que un contenedor se iniciara con parámetros no válidos (#21716)
- Corregir una carrera con temporizadores de eventos que se detienen antes de tiempo (#21692)
- Corregir condiciones de carrera en el almacén de capas, que potencialmente corrompen el mapa y bloquean el proceso (#21677)
- No desaprobar la creación automática de directorios del host para los montajes. Esta característica fue marcada como depreciada en Docker 1.9, pero se decidió que era un cambio incompatible hacia atrás demasiado grande, por lo que se decidió mantener la característica (#21666)
- Ahora es posible que los contenedores compartan los espacios de nombres NET e IPC cuando
usernsestá habilitado (#21383) docker inspect <image-id>ahora expondrá las capas de rootfs (#21370)- Docker para Windows ganó una implementación mínima de
top(#21354)
- Docker aprendió a reportar el archivo ejecutable defectuoso cuando un contenedor no se puede iniciar debido a su condición (#21345)
- Docker con device mapper ahora se negará a ejecutarse si
udev syncno está disponible (#21097)
- Corregir un error donde Docker no validaba el archivo de configuración al recargar la configuración (#21089)
- Corregir un cuelgue que ocurría al conectarse si el inicio inicial fallaba (#21048)
- Corregir un problema por el cual las opciones del servicio de registro en el archivo de configuración del demonio no se tenían en cuenta correctamente (#21045)
- Corregir una carrera entre las operaciones exec y de cambio de tamaño (#21022)
- Corregir un problema por el cual los nanosegundos no se tenían en cuenta correctamente al filtrar eventos de Docker (#21013)
- Corregir el manejo del comando Docker cuando se le pasa un id de 64 bytes (#21002)
- Docker ahora devolverá un
204(es decir, http.StatusNoContent) cuando elimine con éxito una red (#20977)
- Corregir un error por el cual el demonio esperaba indefinidamente en caso de que el proceso que estaba a punto de matar ya hubiera salido por su cuenta (#20967)
- El controlador devmapper aprendió la opción
dm.min_free_space. Si el espacio libre del dispositivo mapeado alcanza el valor pasado, se prohibirá la creación de nuevos dispositivos. (#20786)
- Docker ahora puede evitar que los procesos en el contenedor obtengan nuevos privilegios a través de la bandera
--security-opt=no-new-privileges(#20727)
- Iniciar un contenedor con la opción
--deviceahora resolverá correctamente los enlaces simbólicos (#20684)
- Docker ahora depende de
containerdyruncpara generar contenedores (#20662)
- Corregir la recarga de la configuración de Docker para alterar únicamente los valores presentes en el archivo de configuración dado (#20604)
- Docker ahora permite establecer un nombre de host de contenedor a través de la bandera
--hostnamecuando--net=host(#20177) - Docker ahora permite ejecutar un contenedor privilegiado mientras se ejecuta con
--userns-remapsi se especifican tanto--privilegedcomo la nueva bandera--userns=host(#20111)
- Corregir que Docker no limpie correctamente los contenedores antiguos al reiniciar después de un fallo (#19679)
- Docker ahora dará un error si no reconoce una clave de configuración dentro del archivo de configuración (#19517)
- Corregir la carga de contenedores en el inicio del demonio cuando dependen de un plugin que se ejecuta dentro de un contenedor (#19500)
docker updateaprendió cómo cambiar una política de reinicio de contenedor (#19116)docker inspectahora también devuelve un nuevo campoStateque contiene el estado del contenedor de una manera legible para los humanos (es decir, uno decreated,restarting,running,paused,exitedodead)(#18966)
- Docker aprendió a limitar el número de pids activos (es decir, procesos) dentro del contenedor a través de las banderas
pids-limit. NOTA: Esto requiere queCGROUP_PIDS=yesté en la configuración del kernel. (#18697)
docker loadahora tiene una opción--quietpara suprimir la salida de la carga (#20078)- Corregir un error en el descubrimiento de vecinos para pares IPv6 (#20842)
- Corregir un pánico durante la limpieza si un contenedor se inició con opciones no válidas (#21802)
- Corregir una situación en la que un contenedor no se puede detener si la terminal está cerrada (#21840)
Seguridad
- A los objetos con el tipo selinux
pcp_pmcd_tse les concedió acceso de gestión a/var/lib/docker(/.*)?(#21370) restart_syscall,copy_file_range,mlock2se unieron a la lista de llamadas permitidas en el perfil seccomp predeterminado (#21117, #21262)send,recvyx32se añadieron a la lista de llamadas al sistema y arquitecturas permitidas en el perfil seccomp predeterminado (#19432)- Docker Content Trust ahora solicita al servidor que realice la firma de instantáneas (snapshot signing) (#21046)
- El soporte para usar YubiKeys para la firma de Content Trust ha salido de experimental (#21591)
Volúmenes
- La salida de
docker volume lsahora está ordenada por nombre de volumen (#20389) - Los volúmenes locales ahora pueden aceptar opciones similares a la herramienta
mountde unix (#20262)
- Corregir un problema por el cual el nombre de directorio de una letra no se podía usar como origen para los volúmenes (#21106)
docker run -vahora acepta una nueva banderanocopy. Esto le indica al tiempo de ejecución que no copie el contenido de la ruta del contenedor en el volumen (que es el comportamiento predeterminado) (#21223)
1.10.3 (2016-03-10)
Tiempo de ejecución
- Corregir que el cliente de Docker salga con un error "Unrecognized input header" error #20706
- Corregir la salida de Docker si Exec se inicia con
AttachStdinyDetachal mismo tiempo #20647
Distribución
- Corregir una caída al subir en paralelo múltiples imágenes que comparten las mismas capas al mismo repositorio #20831
- Corregir un pánico al subir imágenes a un registro que utiliza un servicio de tokens mal configurado #21030
Sistema de Plugins
- Corregir problema que impedía que los plugins de volumen se iniciaran cuando SELinux está habilitado #20834
- Evitar que Docker salga si un plugin de volumen devuelve una respuesta nula para las solicitudes Get #20682
- Corregir que el sistema de plugins filtre descriptores de archivo si un plugin tiene un error #20680
Seguridad
- Corregir que la emulación linux32 falle durante docker build #20672
Se debía a que la llamada al sistema
personalityestaba bloqueada por el perfil seccomp predeterminado. - Corregir que Oracle XE 10g no se inicie en un contenedor #20981
Se debía a que la llamada al sistema
ipcestaba bloqueada por el perfil seccomp predeterminado. - Corregir que los espacios de nombres de usuario no funcionen en Linux From Scratch #20685
- Corregir problema que impedía que el demonio se iniciara si userns está habilitado y los archivos
subuidosubgidcontienen comentarios #20725
1.10.2 (2016-02-22)
Tiempo de ejecución
- Evitar que systemd elimine los cgroups de los contenedores cuando se recarga su configuración #20518
- Corregir problemas de SELinux ignorando
--read-onlyal montar/dev/mqueue#20333 - Corregir los permisos chown utilizados durante
docker cpcuando se utiliza userns #20446 - Corregir problema de carga de configuración donde todos los booleanos tenían como valor predeterminado
true#20471 - Corregir pánico ocasional con
docker logs -f#20522
Distribución
- Mantener la referencia de la capa si la eliminación falló para evitar un estado gravemente inconsistente #20513
- Gestionar con elegancia un caso extremo al cancelar la migración #20372
- Corregir docker import en datos comprimidos #20367
- Corregir la corrupción de archivos tar-split durante la migración que posteriormente causa fallos en docker push y docker save #20458
Redes
- Corregir la caída del demonio si se envía basura al DNS integrado #20510
Volúmenes
- Corregir problema con múltiples referencias de volumen con el mismo nombre #20381
Seguridad
- Corregir posibles problemas de corrupción de caché y conflictos de delegación #20523
1.10.1 (2016-02-11)
ImportantDocker 1.10 uses a new content-addressable storage for images and layers.
A migration is performed the first time docker is run, and can take a significant amount of time depending on the number of images present. Refer to this page on the wiki for more information: https://github.com/docker/docker/wiki/Engine-v1.10.0-content-addressability-migration
We also released a cool migration utility that enables you to perform the migration before updating to reduce downtime.
Engine 1.10 migrator can be found on Docker Hub: https://hub.docker.com/r/docker/v1.10-migrator/
Runtime
- New
docker updatecommand that allows updating resource constraints on running containers #15078 - Add
--tmpfsflag todocker runto create a tmpfs mount in a container #13587 - Add
--formatflag todocker imagescommand #17692 - Allow to set daemon configuration in a file and hot-reload it with the
SIGHUPsignal #18587 - Updated docker events to include more meta-data and event types #18888 This change is backward compatible in the API, but not on the CLI.
- Add
--blkio-weight-deviceflag todocker run#13959 - Add
--device-read-bpsand--device-write-bpsflags todocker run#14466 - Add
--device-read-iopsand--device-write-iopsflags todocker run#15879 - Add
--oom-score-adjflag todocker run#16277 - Add
--detach-keysflag toattach,run,startandexeccommands to override the default key sequence that detaches from a container #15666 - Add
--shm-sizeflag torun,createandbuildto set the size of/dev/shm#16168 - Show the number of running, stopped, and paused containers in
docker info#19249 - Show the
OSTypeandArchitectureindocker info#17478 - Add
--cgroup-parentflag ondaemonto set cgroup parent for all containers #19062 - Add
-Lflag to docker cp to follow symlinks #16613 - New
status=deadfilter fordocker ps#17908
- Change
docker runexit codes to distinguish between runtime and application errors #14012 - Enhance
docker events --sinceand--untilto support nanoseconds and timezones #17495 - Add
--all/-aflag tostatsto include both running and stopped containers #16742 - Change the default cgroup-driver to
cgroupfs#17704 - Emitir un evento "tag" al etiquetar una imagen con
build -t#17115 - Mejor esfuerzo en el orden de inicio de los contenedores vinculados al iniciar el demonio #18208
- Añadir la capacidad de añadir múltiples etiquetas en
build#15780 - Permitir solicitudes
OPTIONScontra cualquier url, solucionando así el problema con CORS #19569
- Corregir la bandera
--quietendocker buildpara que realmente sea silenciosa #17428 - Corregir
docker images --filter dangling=falsepara que ahora muestre todas las imágenes que no estén huérfanas #19326 - Corregir una condición de carrera que provocaba que el reinicio automático se desactivara al reiniciar #17629
- Reconocer los sistemas de archivos GPFS #19216
- Corregir un error poco común que impedía iniciar contenedores #19751
- Prohibir
execdurante el reinicio de un contenedor #19722 - devicemapper: Aumentar
--storage-opt dm.basesizeahora incrementará el tamaño del dispositivo base al reiniciar el demonio #19123
Seguridad
- Añadir la bandera
--userns-remapaldaemonpara admitir espacios de nombres de usuario (anteriormente en experimental) #19187 - Añadir soporte para perfiles seccomp personalizados en
--security-opt#17989 - Añadir perfil seccomp predeterminado #18780
- Añadir la bandera
--authorization-pluginaldaemonpara personalizar las ACL #15365 - Docker Content Trust ahora admite la capacidad de leer y escribir delegaciones de usuarios #18887 Esta es una función opcional y de activación voluntaria que requiere el uso explícito de la utilidad de línea de comandos de Notary para poder habilitarse. Habilitar el soporte de delegación en un repositorio específico romperá la capacidad de Docker 1.9 y 1.8 para realizar pull de ese repositorio, si content trust está habilitado.
- Permitir que SELinux se ejecute en un contenedor cuando se utiliza el controlador de almacenamiento BTRFS #16452
Distribución
- Utilizar almacenamiento direccionable por contenido para imágenes y capas #17924
Se realiza una migración la primera vez que se ejecuta docker; puede tomar una cantidad de tiempo significativa dependiendo del número de imágenes y contenedores presentes.
Las imágenes ya no dependen de la cadena principal, sino que contienen una lista de referencias a capas.
Los archivos tar de
docker load/docker saveahora también contienen configuraciones de imágenes direccionables por contenido. Para más información: https://github.com/docker/docker/wiki/Engine-v1.10.0-content-addressability-migration - Añadir soporte para el nuevo formato de manifiesto ("schema2") #18785
- Muchas mejoras para push y pull: rendimiento++, reintentos en descargas fallidas, cancelación al desconectarse el cliente #18353, #18418, #19109, #18353
- Limitar los fallbacks al protocolo v1 #18590
- Corregir un problema por el cual docker podía quedarse colgado indefinidamente esperando a que un proceso inexistente descargara una imagen #19743
Redes
- Utilizar el descubrimiento basado en DNS en lugar de
/etc/hosts#19198 - Soporte para alias con alcance de red usando
--net-aliasenruny--aliasennetwork connect#19242 - Añadir
--ipe--ip6enrunynetwork connectpara admitir direcciones IP personalizadas para un contenedor en una red #19001 - Añadir
--ipam-optanetwork createpara pasar opciones de IPAM personalizadas #17316 - Añadir la bandera
--internalanetwork createpara restringir el acceso externo hacia y desde la red #19276 - Añadir la opción
kv.patha--cluster-store-opt#19167 - Añadir las opciones
discovery.heartbeatydiscovery.ttla--cluster-store-optpara configurar el TTL de descubrimiento y el temporizador de latidos (heartbeat) #18204 - Añadir la bandera
--formatanetwork inspect#17481 - Añadir
--linkanetwork connectpara proporcionar un alias local al contenedor #19229 - Soporte para el intercambio de capacidades (Capability exchange) con plugins de IPAM remotos #18775
- Añadir
--forceanetwork disconnectpara forzar la desconexión de un contenedor de la red #19317
- Soporte para redes multi-host usando el controlador overlay integrado para todos los núcleos compatibles con el motor: 3.10+ #18775
--linkahora es compatible endocker runpara contenedores en una red definida por el usuario #19229- Mejorar
docker network rmpara permitir la eliminación de múltiples redes #17489 - Incluir nombres de contenedores en
network inspect#17615 - Incluir subredes autogeneradas para redes definidas por el usuario en
network inspect#17316 - Añadir la bandera
--filteranetwork lspara ocultar redes predefinidas #17782 - Añadir soporte para conectar/desconectar redes a contenedores detenidos #18906
- Añadir ID de red a la inspección de contenedores #19323
- Corregir un problema de MTU donde Docker no se iniciaba con dos o más rutas predeterminadas #18108
- Corregir direcciones IP duplicadas para contenedores #18106
- Corregir un problema que a veces impedía a docker crear la red bridge #19338
- No sustituir el servidor de nombres 127.0.0.1 al usar
--net=host#19573
Registros (Logging)
- Mejorar
docker logs --sincey--untilpara admitir nanosegundos y hora #17495 - Mejorar los registros de AWS para detectar automáticamente la región #16640
Volúmenes
- Añadir soporte para establecer el modo de propagación de montaje para un volumen #17034
- Añadir endpoints
lseinspecta la API de plugins de volúmenes #16534 Los plugins existentes necesitan hacer uso de estas nuevas API para satisfacer las expectativas del usuario Para ello, utiliza el nuevo tipo MIMEapplication/vnd.docker.plugins.v1.2+json#19549
- Corregir la copia de datos a volúmenes con nombre #19175
- Corregir problemas que impedían que los controladores de volúmenes se contenedorizaran #19500
- Corregir
docker volumes ls --dangling=falsepara que ahora muestre todos los volúmenes no huérfanos #19671 - No eliminar volúmenes con nombre al eliminar contenedores #19568
- Permitir que controladores de volúmenes externos alojen volúmenes anónimos #19190
Constructor (Builder)
- Añadir soporte para
**en.dockerignorepara usar comodines en múltiples niveles de directorios #17090
- Corregir el manejo de caracteres UTF-8 en Dockerfiles #17055
- Corregir problemas de permisos al leer desde STDIN #19283
Cliente
- Añadir soporte para anular la versión de la API a usar mediante la variable de entorno
DOCKER_API_VERSION#15964
- Corregir un error que impedía a los clientes de Windows iniciar sesión en Docker Hub #19891
Varios
- systemd: Establecer TasksMax además de LimitNPROC en el archivo de servicio de systemd #19391
Depreciaciones
- Eliminar soporte para LXC. El controlador LXC se depreció en Docker 1.8 y ahora ha sido eliminado #17700
- Eliminar la bandera del demonio
--exec-driver, ya que ya no se utiliza #17700 - Eliminar las antiguas banderas CLI largas con un solo guion (como
-rm; usa--rmen su lugar) #17724 - Depreciar HostConfig al iniciar contenedores en la API #17799
- Depreciar los paquetes de Docker para distribuciones de Linux que acaban de llegar al final de su vida útil (EOL): Fedora 21 y Ubuntu 15.04 (Vivid) #18794, #18809
- Depreciar la bandera
-fpara docker tag #18350
1.9.1 (2015-11-21)
Tiempo de ejecución (Runtime)
- No impedir que el demonio se inicie si las imágenes no se pudieron restaurar (#17695)
- Forzar el desmontaje del montaje IPC al apagar/iniciar el demonio (#17539)
- Convertir los errores de desmontaje IPC en advertencias (#17554)
- Corregir la regresión de rendimiento en
docker stats(#17638) - Aclarar el mensaje de error críptico en
docker logssi--log-driver=none(#17767) - Corregir pánicos poco frecuentes (#17639, #17634, #17703)
- Corregir problemas de opq whiteouts para archivos con prefijo de punto (#17819)
- devicemapper: intentar usar xfs de forma predeterminada en lugar de ext4 por razones de rendimiento (#17903, #17918)
- devicemapper: corregir el sistema de archivos mostrado en docker info (#17974)
- selinux: solo volver a etiquetar si el usuario lo solicitó con la opción
z(#17450, #17834) - No realizar llamadas de red al normalizar nombres (#18014)
Cliente
- Corregir
docker loginen Windows (#17738) - Corregir un error en la salida de
docker inspectcuando no está conectado al demonio (#17715) - Corregir
docker inspect -f {{.HostConfig.Dns}} alguncontenedor(#17680)
Constructor (Builder)
- Corregir regresión con el comportamiento de enlaces simbólicos en ADD/COPY (#17710)
Redes
- Permitir pasar un ID de red como argumento para
--net(#17558) - Corregir la conexión al host e impedir la desconexión del host para la red
host(#17476) - Corregir el problema con
--fixed-cidrcuando la IP de la puerta de enlace cae en el rango de IP y el rango de IP no es el primer bloque en la red (#17853) - Restaurar la generación determinista de
IPv6a partir de la direcciónMACen la redbridgepredeterminada (#17890) - Permitir el mapeo de puertos solo para los endpoints creados en docker run (#17858)
- Se corrigió un problema de eliminación de endpoints con un sbox posiblemente obsoleto (#18102)
Distribución
- Corregir la cadena principal en push v2 cuando los archivos v1Compatibility en el disco son inconsistentes (#18047)
1.9.0 (2015-11-03)
Tiempo de ejecución (Runtime)
docker statsahora devuelve métricas de E/S de bloques (#15005)docker statsahora detalla las estadísticas de red por interfaz (#15786)- Añadir el filtro
ancestor=<imagen>a la banderadocker ps --filterpara filtrar contenedores basados en sus imágenes ancestras (#14570) - Añadir el filtro
label=<algunavoluble>adocker ps --filterpara filtrar contenedores basados en la etiqueta (#16530) - Añadir la bandera
--kernel-memoryadocker run(#14006) - Añadir la bandera
--messageadocker importque permite especificar un mensaje opcional (#15711) - Añadir la bandera
--privilegedadocker exec(#14113) - Añadir la bandera
--stop-signaladocker runque permite reemplazar la señal de parada del proceso del contenedor (#15307) - Añadir una nueva política de reinicio
unless-stopped(#15348) - Inspeccionar una imagen ahora devuelve sus etiquetas (#13185)
- Añadir información del tamaño del contenedor a
docker inspect(#15796) - Añadir los campos
RepoTagsyRepoDigestsa/images/{name:.*}/json(#17275)
- Eliminar el endpoint depreciado
/container/psde la API (#15972) - Enviar y documentar códigos HTTP correctos para
/exec/<name>/start(#16250) - Compartir shm y mqueue entre contenedores que comparten el espacio de nombres IPC (#15862)
- El flujo de eventos ahora muestra el estado OOM cuando
--oom-kill-disableestá establecido (#16235) - Asegurar que los archivos de red especiales (/etc/hosts, etc.) sean de solo lectura si se montan de forma vinculada (bind-mounted) con la opción
ro(#14965) - Mejorar el rendimiento de
rmi(#16890) - No actualizar /etc/hosts para la red bridge predeterminada, excepto para los enlaces (#17325)
- Corregir el conflicto con nombres de contenedor duplicados (#17389)
- Corregir un problema con la ejecución incorrecta de plantillas en
docker inspect(#17284) - DEPRECIAR la variante de bandera corta
-cpara--cpu-sharesen docker run (#16271)
Cliente
- Permitir a
docker importimportar desde archivos locales (#11907)
Constructor (Builder)
- Añadir una instrucción
STOPSIGNALen el Dockerfile que permite establecer una señal de parada diferente para el proceso del contenedor (#15307) - Añadir una instrucción
ARGen el Dockerfile y una bandera--build-argadocker buildque permite añadir variables de entorno en tiempo de construcción (#15182)
- Mejorar el rendimiento de los fallos de caché (#16890)
Almacenamiento
- devicemapper: Implementar capacidad de eliminación diferida (#16381)
Redes
docker networksale de la fase experimental y forma parte de la versión estándar (#16645)- Nuevo concepto de red a nivel superior, con sus respectivos subcomandos y API (#16645) ADVERTENCIA: la API is diferente de la API experimental
- Soporte para múltiples redes aisladas/microsegmentadas (#16645)
- Redes multi-host integradas usando el controlador overlay basado en VXLAN (#14071)
- Soporte para plugins de red de terceros (#13424)
- Capacidad de conectar dinámicamente contenedores a múltiples redes (#16645)
- Soporte para la gestión de direcciones IP definidas por el usuario a través de controladores IPAM acoplables (#16910)
- Añadir las banderas del demonio
--cluster-storey--cluster-advertisepara el descubrimiento integrado de nodos (#16229) - Añadir
--cluster-store-optpara establecer la configuración TLS (#16644) - Añadir
--dns-optal demonio (#16031)
- DEPRECIAR los siguientes campos de
NetworkSettingsdel contenedor en la API v1.21:EndpointID,Gateway,GlobalIPv6Address,GlobalIPv6PrefixLen,IPAddress,IPPrefixLen,IPv6GatewayyMacAddress. Estos son ahora específicos de la redbridge. UtilizaNetworkSettings.Networkspara inspeccionar la configuración de red de un contenedor por red.
Volúmenes
- Nuevo subcomando y API de nivel superior
volume(#14242)
- Mover la configuración del controlador de volumen de la API a la configuración específica del host (#15798)
- Imprimir un mensaje de error si el nombre del volumen no es único (#16009)
- Asegurar que los volúmenes creados a partir de Dockerfiles siempre utilicen el controlador de volumen local (#15507)
- DEPRECIAR la creación automática de rutas de host faltantes para montajes vinculados (bind mounts) (#16349)
Registros (Logging)
- Añadir el controlador de registro
awslogspara Amazon CloudWatch (#15495) - Añadir la opción de registro genérica
tagpara permitir la personalización de la información del contenedor/imagen pasada al controlador (#15384)
- Implementar el endpoint
docker logspara el controlador journald (#13707) - DEPRECIAR las etiquetas de registro específicas del controlador (#15384)
Distribución
docker searchahora funciona con nombres parciales (#16509)
- Optimización de push: evitar el almacenamiento en búfer en un archivo (#15493)
- El demonio mostrará el progreso de las imágenes que ya estaban siendo descargadas por otro cliente (#15489)
- Solo se solicitan los permisos requeridos para la acción actual que se está realizando (#)
- Renombrar las claves de confianza (y las respectivas variables de entorno) de
offlinearooty detaggingarepository(#16894)
- DEPRECIAR las variables de entorno de claves de confianza
DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASEyDOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE(#16894)
Seguridad
- Añadir perfiles de SELinux al paquete rpm (#15832)
- Corregir varios problemas con los perfiles AppArmor proporcionados en el paquete deb (#14609)
- Añadir política de AppArmor que impide escribir en /proc (#15571)
1.8.3 (2015-10-12)
Distribución
- Corregir que los ID de capa causen envenenamiento del gráfico local (CVE-2014-8178)
- Corregir errores lógicos de validación y análisis de manifiesto que permiten omitir la validación de pull-by-digest (CVE-2014-8179)
- Añadir
--disable-legacy-registrypara evitar que un demonio utilice un registro v1
1.8.2 (2015-09-10)
Distribución
- Corrige un caso de borde poco común en el manejo de entradas GNU LongLink y LongName entradas.
- Corregir ^C en docker pull.
- Corregir problemas de docker pull al desconectarse el cliente.
- Corregir un problema que provocaba que el demonio entrara en pánico cuando los registradores no estaban configurados correctamente.
- Corregir la fuga de goroutines al descargar imágenes del registro V2.
Tiempo de ejecución (Runtime)
- Corregir un error al montar cgroups para los demonios de docker que se ejecutan dentro de contenedores docker.
- Inicializar la configuración de registro correctamente.
Cliente:
- Manejar la bandera
-qendocker pscorrectamente cuando hay un formato predeterminado.
Redes
- Corregir varios casos de borde con netlink.
Contrib
- Corregir varios problemas con el completado de bash.
1.8.1 (2015-08-12)
Distribución
- Corregir un error por el cual el envío de múltiples etiquetas daba como resultado imágenes no válidas
1.8.0 (2015-08-11)
Distribución
- Descarga (pull), envío (push) y construcción (build) de confianza, desactivados por defecto
- Hacer que las capas tar sean deterministas entre registros
- No permitir la eliminación de la imagen de contenedores en ejecución
- Comprobar si un nombre de etiqueta a cargar es un digest válido
- Permitir nombres de repositorio de un solo carácter
- Añadir una descripción de error más precisa para nombres de etiqueta no válidos
- Hacer que la caché de construcción ignore mtime
Cli
- Añadir soporte para DOCKER_CONFIG/--config para especificar el directorio del archivo de configuración
- Añadir la bandera --type para el comando docker inspect
- Añadir opciones de formato a
docker pscon--format - Reemplazar
docker -dcon el nuevo subcomandodocker daemon
- Actualizaciones y mejoras del completado de Zsh
- Añadir algunos eventos faltantes al completado de bash
- Admitir URL de demonio con rutas base en
docker -H - Validar el filtro status= en docker ps
- Mostrar cuando un contenedor está en --net=host en docker ps
- Extender docker inspect para exportar metadatos de imagen relacionados con el controlador de gráficos (graph driver)
- Restaurar las opciones del demonio --default-gateway{,-v6}
- Añadir puertos no publicados faltantes en docker ps
- Permitir cadenas de duración en
docker eventscomo --since/--until - Exponer más información de montajes en
docker inspect
Tiempo de ejecución (Runtime)
- Añadir nuevo controlador de registro Fluentd
- Permitir a
docker importcargar desde archivos locales - Añadir controlador de registro para GELF a través de UDP
- Permitir copiar archivos del host a los contenedores con
docker cp - Promover los controladores de volúmenes de experimentales a principales
- Añadir opciones de rotación (rollover) al controlador de registro json-file, y la bandera --log-driver-opts
- Añadir opciones de ajuste de la afinidad de intercambio de memoria (memory swappiness)
- Eliminar la bandera de solo lectura de cgroup cuando se es privilegiado
- Hacer que /proc, /sys y /dev sean de solo lectura para contenedores de solo lectura
- Añadir el montaje de cgroup por defecto
- Overlay: Exportar metadatos para contenedor e imagen en
docker inspect - Devicemapper: activación de dispositivo externo
- Devicemapper: Comparar el uuid del dispositivo base al iniciar
- Eliminar RC4 de la lista de suites de cifrado del registro
- Añadir la opción syslog-facility
- Compatibilidad del controlador de ejecución LXC con versiones recientes de LXC
- Marcar el controlador de ejecución LXC como depreciado (a ser eliminado con la migración a runc)
Plugins
- Separar las ubicaciones de sockets y especificaciones de plugins
- Permitir conexiones TLS a plugins
Corrección de errores (Bug fixes)
- Añadir el campo 'Names' faltante a la salida de la API /containers/json
- Hacer que
docker rmide imágenes huérfanas sea seguro mientras se descargan - Devicemapper: Cambiar el basesize predeterminado a 100G
- Problema del programador de Go con sync.Mutex y gcc
- Corregir un problema por el cual el endpoint de la API Search entraba en pánico debido a un AuthConfig vacío
- Establecer los nombres canónicos de la imagen correctamente
- Comprobar dockerinit solo si se utiliza el controlador lxc
- Corregir el uso de nproc por ulimit
- Adjuntar siempre STDIN si se especifica -i,--interactive
- Mostrar mensajes de error cuando falla el guardado del estado del contenedor
- Se corrigió la suposición incorrecta sobre --bridge=none tratado como red desactivada
- Comprobar especificaciones de puerto no válidas en la configuración del host
- Corregir el fallo al salir del endpoint para el modo --net=host
- Corregir la fuga de goroutines en la API de estadísticas si el contenedor no se está ejecutando
- Comprobar el archivo apparmor antes de leerlo
- Corregir que se ignore DOCKER_TLS_VERIFY
- Establecer umask al valor predeterminado al iniciar
- Corregir el mensaje al pausar y reanudar un contenedor que no está en ejecución
- Ajustar CpuShares no permitidos en la creación de contenedores
- ZFS: aplicar correctamente el contexto de selinux
- Mostrar una cadena vacía en lugar de
cuando IP opt es nil docker killdevuelve un error cuando el contenedor no está en ejecución- Corregir la forma citada/json de COPY/ADD
- Corregir la fuga de goroutines en logs -f sin salida
- Eliminar pánico en el paquete nat ante un puerto de host no válido
- Corregir la vinculación de contenedores en Fedora 22
- Corregir el error causado al usar puertas de enlace predeterminadas fuera del rango asignado
- Formatear las horas en el comando inspect con una plantilla como RFC3339Nano
- Hacer que el cliente del registro acepte respuestas de estado http 2xx y 3xx como exitosas
- Corregir un problema de carrera que provocaba que el demonio fallara cuando fallaban ciertas descargas de capas en un orden específico.
- Corregir el error cuando el formato de docker ps no era válido.
- Eliminar la desviación de reenvío de IP redundante.
- Corregir un problema al intentar enviar imágenes a espejos de repositorios (repository mirrors).
- Corregir el error al limpiar los puntos de entrada de red cuando hay un problema de inicialización.
1.7.1 (2015-07-14)
Tiempo de ejecución (Runtime)
- Corregir que el usuario predeterminado genere el proceso exec con
docker exec - Hacer que
--bridge=noneno configure el puente de red - Publicar las estadísticas de red correctamente
- Corregir la selección implícita de devicemapper con binarios estáticos
- Corregir las conexiones de socket que se colgaban intermitentemente
- Corregir la creación de la interfaz del puente en CentOS/RHEL 6.6
- Corregir las búsquedas de DNS local añadidas a resolv.conf
- Corregir el comando copy montando volúmenes
- Corregir los privilegios de lectura/escritura en volúmenes montados con --volumes-from
API remota (Remote API)
- Corregir la deserialización de Command y Entrypoint
- Establecer el límite para la versión mínima de cliente admitida
- Validar la especificación del puerto
- Devolver errores adecuados cuando fallan attach/reattach
Distribución
- Corregir la descarga de imágenes privadas
- Corregir la alternancia entre la versión V2 y V1 del registro
1.7.0 (2015-06-16)
Tiempo de ejecución (Runtime)
- Función experimental: soporte para plugins de volúmenes fuera de proceso
- El proxy userland se puede desactivar en favor de hairpin NAT utilizando la bandera del demonio
--userland-proxy=false - El comando
execadmite la bandera-u|--userpara especificar el propietario del nuevo proceso
- La puerta de enlace predeterminada para los contenedores se puede especificar para todo el demonio utilizando las banderas
--default-gatewayy--default-gateway-v6 - La cuota de CPU CFS (Completely Fair Scheduler) se puede establecer en
docker runusando--cpu-quota - Las E/S de bloques del contenedor se pueden controlar en
docker runusando--blkio-weight - Soporte para ZFS
- El comando
docker logsadmite un argumento--since - El espacio de nombres UTS se puede compartir con el host con
docker run --uts=host
Calidad (Quality)
- La pila de red se reescribió por completo como parte del esfuerzo de libnetwork
- Refactorización interna del motor (Engine)
- El código de volúmenes se reescribió por completo para admitir el esfuerzo de los plugins
- Enviar SIGUSR1 a un demonio volcará las pilas de todas las goroutines sin salir
Construcción (Build)
- Admitir la sintaxis ${variable:-value} y ${variable:+value} para variables de entorno
- Admitir banderas de gestión de recursos
--cgroup-parent,--cpu-period,--cpu-quota,--cpuset-cpus,--cpuset-mems - Cambios en el contexto de git con ramas y directorios
- El archivo .dockerignore admite reglas de exclusión
Distribución
- Soporte en el cliente para el espejo v2 del registro oficial
Corrección de errores (Bugfixes)
- Firewalld ahora está admitido y se utilizará automáticamente cuando esté disponible
- Montaje recursivo de
--device
1.6.2 (2015-05-13)
Tiempo de ejecución (Runtime)
- Revertir el cambio que prohibía montar en /sys
1.6.1 (2015-05-07)
Seguridad
- Corregir rutas de lectura/escritura en /proc (CVE-2015-3630)
- Prohibir VOLUME /proc y VOLUME / (CVE-2015-3631)
- Corregir la apertura del descriptor de archivo 1 (CVE-2015-3627)
- Corregir el recorrido de enlaces simbólicos al reaparecer el contenedor, lo que permitía la escalada de privilegios locales (CVE-2015-3629)
- Prohibir el montaje de /sys
Tiempo de ejecución (Runtime)
- Actualizar la política de AppArmor para no permitir montajes
1.6.0 (2015-04-07)
Constructor (Builder)
- Construcción de imágenes a partir de un ID de imagen
- Construir contenedores con restricciones de recursos, por ejemplo,
docker build --cpu-shares=100 --memory=1024m... commit --changepara aplicar las instrucciones de Dockerfile especificadas al confirmar (commit) la imagenimport --changepara aplicar las instrucciones de Dockerfile especificadas al importar la imagen- Las construcciones ya no continúan en segundo plano cuando se cancelan con CTRL-C
Cliente
- Soporte para Windows
Tiempo de ejecución (Runtime)
- Etiquetas (Labels) de contenedores e imágenes
--cgroup-parentpara especificar un cgroup padre en el cual colocar el cgroup del contenedor- Controlador de registro (Logging drivers):
json-file,syslogonone - Descarga de imágenes por ID
--ulimitpara establecer el ulimit en un contenedor- Opción
--default-ulimiten el demonio que se aplica a todos los contenedores creados (y se anula por--ulimital ejecutar)
1.5.0 (2015-02-10)
Constructor (Builder)
- El Dockerfile a usar para un
docker builddeterminado se puede especificar con la bandera-f
- Los archivos Dockerfile y .dockerignore pueden ser excluidos como parte del archivo .dockerignore, evitando así que las modificaciones a estos archivos invaliden la caché de las instrucciones ADD o COPY
- Las instrucciones ADD y COPY admiten rutas relativas
- La instrucción del Dockerfile
FROM scratchahora se interpreta como un especificador sin base - Mejorar el rendimiento al exponer una gran cantidad de puertos
Hack
- Permitir pruebas de integración solo del lado del cliente para Windows
- Incluir pruebas de integración de docker-py contra el demonio de Docker como parte de nuestras suites de pruebas
Empaquetado (Packaging)
- Soporte para la nueva versión de la API HTTP del registro
- Acelerar
docker pushpara imágenes con la mayoría de capas ya existentes
- Se corrigió el contacto con un registro privado a través de un proxy
API remota (Remote API)
- Un nuevo endpoint transmitirá métricas en vivo de los recursos del contenedor y se puede acceder con el comando
docker stats - Los contenedores se pueden renombrar utilizando el nuevo endpoint
renamey el comando asociadodocker rename
- El endpoint
inspectdel contenedor muestra el ID de los comandosexecque se ejecutan en este contenedor - El endpoint
inspectdel contenedor muestra el número de veces que Docker reinició automáticamente el contenedor - Se pueden transmitir nuevos tipos de eventos mediante el endpoint
events: 'OOM' (el contenedor murió por falta de memoria), 'exec_create' y 'exec_start'
- Se corrigieron los campos de cadena devueltos que contienen caracteres numéricos omitiendo incorrectamente las comillas dobles circundantes
Tiempo de ejecución (Runtime)
- El demonio de Docker tiene soporte completo para IPv6
- El comando
docker runpuede tomar la bandera--pid=hostpara usar el espacio de nombres de PID del host, lo que hace posible, por ejemplo, depurar procesos del host usando herramientas de depuración contenedorizadas - El comando
docker runpuede tomar la bandera--read-onlypara hacer que el sistema de archivos raíz del contenedor se monte como solo lectura, lo que se puede usar en combinación con volúmenes para forzar a los procesos de un contenedor a escribir solo en ubicaciones que serán persistidas - El uso total de memoria del contenedor se puede limitar para
docker runusando la bandera--memory-swap
- Grandes mejoras de estabilidad para el controlador de almacenamiento devicemapper
- Mejor integración con el sistema host: los contenedores reflejarán los cambios en el archivo
/etc/resolv.confdel host cuando se reinicien - Mejor integración con el sistema host: las reglas de iptables por contenedor se mueven a la cadena DOCKER
- Se corrigió que el contenedor al salir por falta de memoria devolviera un código de salida no válido
Otros (Other)
- Las variables de entorno HTTP_PROXY, HTTPS_PROXY y NO_PROXY son tenidas en cuenta correctamente por el cliente al conectarse al demonio de Docker
1.4.1 (2014-12-15)
Tiempo de ejecución (Runtime)
- Corregir el problema por el cual volumes-from y los montajes vinculados (bind mounts) no se respetaban después de la creación
1.4.0 (2014-12-11)
Características notables desde 1.3.0
- Establecer etiquetas clave=valor en el demonio (mostradas en
docker info), aplicadas con la nueva bandera del demonio-label - Añadir soporte para
ENVen Dockerfile de la forma:ENV name=value name2=value2... - Nuevo controlador de almacenamiento Overlayfs
docker infoahora devuelve los camposIDyName- Filtrar eventos por nombre de evento, contenedor o imagen
docker cpahora admite copiar desde volúmenes de contenedor
- Se corrigió
docker tagpara que respete--forceal anular una etiqueta para una imagen existente.
1.3.3 (2014-12-11)
Seguridad
- Corregir vulnerabilidad de recorrido de rutas al procesar enlaces simbólicos absolutos (CVE-2014-9356)
- Corregir la descompresión de archivos de imagen xz, lo que impedía la escalada de privilegios (CVE-2014-9357)
- Validar los ID de imagen (CVE-2014-9358)
Tiempo de ejecución (Runtime)
- Corregir un problema cuando los archivos de imagen se leen lentamente
Cliente
- Corregir una regresión relacionada con la redirección de stdin
- Corregir una regresión con
docker cpcuando el destino es el directorio actual
1.3.2 (2014-11-20)
Seguridad
- Corregir vulnerabilidad de escape de tar (tar breakout)
- Las extracciones ahora están en un chroot aislado (sandboxed)
- Las opciones de seguridad ya no se guardan (commit) en las imágenes
Tiempo de ejecución (Runtime)
- Corregir bloqueo mutuo (deadlock) en
docker ps -f exited=1 - Corregir un error cuando
--volumes-fromhace referencia a un contenedor que no pudo iniciarse
Registro (Registry)
--insecure-registryahora acepta la notación CIDR como 10.1.0.0/16
- Los registros privados cuyas IP caen en el rango 127.0.0.0/8 no necesitan la bandera
--insecure-registry
- Omitir la API experimental del registro v2 cuando el mirroring está habilitado
1.3.1 (2014-10-28)
Seguridad
- Evitar la degradación a protocolos SSL < TLS 1.0 para cliente, demonio y registro
- Conexión HTTPS segura a registros con verificación de certificado y sin degradación a HTTP a menos que se especifique
--insecure-registry
Tiempo de ejecución (Runtime)
- Corregir el problema por el cual los volúmenes no se compartían
Cliente
- Corregir el problema por el cual
--iptables=falseno establecía automáticamente--ip-masq=false - Corregir la salida de docker run a un stdout que no sea TTY
Constructor (Builder)
- Corregir el escape de
$para variables de entorno - Corregir el problema con la instrucción Dockerfile
onbuilden minúsculas - Restringir la expansión de variables de entorno a
ENV,ADD,COPY,WORKDIR,EXPOSE,VOLUMEyUSER
1.3.0 (2014-10-14)
Características notables desde 1.2.0
- Docker
execte permite ejecutar procesos adicionales dentro de contenedores existentes - Docker
createte brinda la capacidad de crear un contenedor a través de la CLI sin ejecutar un proceso - Opciones
--security-optspara permitir al usuario personalizar las etiquetas del contenedor y los perfiles de apparmor - Filtros de Docker
ps
- Soporte de comodines para COPY/ADD
- Mover las URL de producción a get.docker.com desde get.docker.io
- Asignar dirección IP en el puente dentro de un CIDR válido
- Usar drone.io para pruebas de relaciones de PR y CI
- Capacidad de configurar un espejo del registro oficial
- Capacidad de guardar múltiples imágenes con docker
save
1.2.0 (2014-08-20)
Tiempo de ejecución (Runtime)
- Hacer que /etc/hosts /etc/resolv.conf y /etc/hostname sean editables en tiempo de ejecución
- Reiniciar contenedores automáticamente mediante políticas
- Usar /var/lib/docker/tmp para archivos temporales grandes
--cap-addy--cap-droppara ajustar qué capacidades de linux deseas--devicepara utilizar dispositivos en los contenedores
Cliente
docker searchen registros privados- Añadir el filtro
exitedadocker ps --filter
docker rm -fahora mata (kills) el contenedor en lugar de detenerlo
- Soporte para direcciones IPv6 en la bandera
--dns
Proxy
- Instancias de proxy en procesos separados
- Pequeña corrección de errores en el proxy UDP
1.1.2 (2014-07-23)
Tiempo de ejecución (Runtime)
- Corregir la asignación de puertos para contenedores existentes
- Corregir el reinicio de contenedores al reiniciar el demonio
Empaquetado (Packaging)
- Corregir el problema con /etc/init.d/docker en Debian
1.1.1 (2014-07-09)
Constructor (Builder)
- Corregir el problema con ADD
1.1.0 (2014-07-03)
Características notables desde 1.0.1
- Añadir soporte para
.dockerignore - Pausar contenedores durante
docker commit - Añadir
--tailadocker logs
Constructor (Builder)
- Permitir un archivo tar como contexto para
docker build
- Corregir el problema con los espacios en blanco y las líneas múltiples en los
Dockerfiles
Tiempo de ejecución (Runtime)
- Mejoras generales de rendimiento
- Permitir
/como origen dedocker run -v - Corregir la asignación de puertos
- Corregir error en
docker save - Añadir información de enlaces (links) a
docker inspect
Cliente
- Mejorar el análisis de la línea de comandos para
docker commit
API remota (Remote API)
- Mejorar el código de estado para los endpoints
startystop
1.0.1 (2014-06-19)
Características notables desde 1.0.0
- Mejorar la seguridad para el controlador LXC
Constructor (Builder)
- Corregir la instrucción
ONBUILDpasada a los descendientes
Tiempo de ejecución (Runtime)
- Corregir la suscripción a eventos
- Corregir el archivo /etc/hostname con redes de host
- Permitir
-hy--net=none - Corregir el problema con dispositivos de conexión en caliente (hotplug) en
--privileged
Cliente
- Corregir problemas con eventos
- Corregir un pánico con banderas vacías
- Corregir
docker cpen Mac OS X
Varios (Miscellaneous)
- Corregir la compilación en Mac OS X
- Corregir varias condiciones de carrera
1.0.0 (2014-06-09)
Características notables desde 0.12.0
- Soporte para producción
0.12.0 (2014-06-05)
Características notables desde 0.11.0
- Más de 40 mejoras diversas en estabilidad, rendimiento y usabilidad
- Nueva instrucción
COPYen el Dockerfile para permitir copiar un archivo local desde el contexto al contenedor sin llegar a extraerlo si el archivo es un archivo tar - Heredar permisos de archivos del host en
ADD - Nuevos comandos
pauseyunpausepara permitir pausar y reanudar contenedores usando el congelador (freezer) cgroup - El comando
imagestiene una opción-f/--filterpara filtrar la lista de imágenes - Añadir
--force-rmpara limpiar después de una construcción fallida - Estandarizar las claves JSON en la API remota a CamelCase
- La descarga desde un docker run ahora asume la etiqueta
latestsi no se especifica - Mejorar la seguridad en las capacidades de Linux y nodos de dispositivos
0.11.1 (2014-05-07)
Registro (Registry)
- Corregir el envío (push) y la descarga (pull) al registro privado
0.11.0 (2014-05-07)
Características notables desde 0.10.0
- Soporte de SELinux para etiquetas de montaje y de proceso
- Se puede acceder a los contenedores vinculados mediante el nombre de host
- Usar la bandera de red
--netpara permitir una configuración de red avanzada, como la red de host, de modo que los contenedores puedan usar las interfaces de red del host - Añadir un endpoint ping a la API remota para realizar comprobaciones de estado de tu demonio de docker
- Los registros (logs) ahora se pueden devolver con una marca de tiempo opcional
- Docker ahora funciona con registros que admiten SHA-512
- Se admiten múltiples endpoints de registro para permitir espejos de registro
0.10.0 (2014-04-08)
Constructor (Builder)
- Corregir la impresión de múltiples mensajes en una sola línea. Corrige la salida rota durante las construcciones.
- Seguir enlaces simbólicos dentro de la raíz del contenedor para las instrucciones de construcción ADD.
- Corregir el almacenamiento en caché de EXPOSE.
Documentación (Documentation)
- Añadir las nuevas opciones de
docker psa la documentación. - Añadir las opciones de
docker restarta la documentación. - Actualizar los documentos del demonio y los mensajes de ayuda para --iptables and --ip-forward.
- Ejemplo actualizado de documentos de apt-cacher-ng.
- Eliminar la descripción duplicada de --mtu de los documentos.
- Añadir los modificadores faltantes -t y -v para
docker imagesa los documentos. - Añadir correcciones a los documentos de la cli.
- Actualizar los documentos de libcontainer.
- Actualizar las imágenes en los documentos para eliminar referencias a AUFS y LXC.
- Actualizar nodejs_web_app en los documentos para usar la nueva dirección RPM de epel.
- Corregir enlace externo sobre seguridad de contenedores.
- Actualizar los documentos de la API remota.
- Añadir el tamaño de la imagen a los documentos de historial.
- Ser explícito sobre la vinculación a todas las interfaces en el ejemplo de redis.
- Documentar la bandera DisableNetwork en la API remota 1.10.
- Documentar que
--lxc-confes solo para lxc. - Añadir documentación de uso de chef.
- Añadir ejemplo para una imagen con múltiples para
docker load. - Explicar qué hace
docker run -aen los documentos.
Contrib
- Add variable for DOCKER_LOGFILE to sysvinit and use append instead of overwrite in opening the logfile. -> Añadir variable para DOCKER_LOGFILE a sysvinit y usar append en lugar de sobrescribir al abrir el archivo de registro.
- Corregir las soluciones alternativas de montaje de cgroup del script de inicio para que sean más similares a cgroupfs-mount y, por lo tanto, funcionen correctamente.
- Eliminar el truco inotifywait del ejemplo de integración con el host upstart porque ya no es necesario.
- Añadir el script check-config a contrib.
- Corregir la finalización de fish shell.
Hack
- Limpiar la salida de "go test" de "make test" para que sea mucho más legible y analizable.
- Excluir más directorios de "código fuente de Go definitivamente sin pruebas unitarias" de hack/make/test.
- Generar hashes md5 y sha256 al construir, y cargarlos mediante hack/release.sh.
- Incluir finalizaciones contribuidas en Ubuntu PPA.
- Añadir pruebas de integración de la cli.
- Añadir ajustes a los scripts de hack para hacerlos más sencillos.
API remota (Remote API)
- Añadir soporte de autenticación TLS para la API.
- Mover el clon de git del demonio al cliente.
- Corregir la detección de content-type en docker cp.
- Dividir la API en 2 paquetes de go.
Tiempo de ejecución (Runtime)
- Admitir hairpin NAT sin pasar por el servidor Docker.
- devicemapper: tener éxito inmediatamente al eliminar dispositivos inexistentes.
- devicemapper: mejorar el manejo de dispositivos devicemapper (añadir bloqueo por dispositivo, aumentar el tiempo de espera y desbloquear mientras se duerme).
- devicemapper: aumentar el tiempo de espera en waitClose a 10 segundos.
- devicemapper: asegurar que cerramos el thin pool limpiamente.
- devicemapper: pasar info, en lugar de hash, a activateDeviceIfNeeded, deactivateDevice, setInitialized, deleteDevice.
- devicemapper: evitar el bloqueo mutuo AB-BA.
- devicemapper: hacer que el apagado sea mejor y más rápido.
- mejorar la clasificación alfabética en mflag.
- Eliminar la gestión manual de cookies http porque se está utilizando cookiejar.
- Usar el modo raw de BSD en Darwin. Corrige nano, tmux y otros.
- Añadir soporte de FreeBSD para el cliente.
- Fusionar el paquete auth en el registro.
- Añadir advertencia de depreciación para -t en
docker pull. - Eliminar fuga de goroutines ante errores.
- Actualizar parseLxcInfo para cumplir con el nuevo formato lxc1.0.
- Corregir la salida de attach en darwin.
- Mejorar el mensaje de depreciación.
- Reintentar recuperar los metadatos de capa hasta 5 veces para
docker pull. - Solo desasociar (unshare) el espacio de nombres de montaje para execin.
- Fusionar la configuración existente al confirmar (commit).
- Desactivar el tiempo de espera de inicio del demonio.
- Corregir el problema #4681: añadir interfaz de loopback cuando las redes están desactivadas.
- Añadir caso de prueba fallido para el problema #4681.
- Enviar SIGTERM al hijo, en lugar de SIGKILL.
- Mostrar la versión del controlador y del kernel en
docker infoincluso cuando no está en modo de depuración. - Crear siempre un enlace simbólico de /dev/ptmx para libcontainer. Esto corrige problemas relacionados con la consola.
- Corregir el problema causado por la ausencia de /etc/apparmor.d.
- No dejar un archivo cidFile vacío cuando falle la creación del contenedor.
- Montar cgroups automáticamente si aún no están montados.
- Usar mock para las pruebas de búsqueda (search).
- Actualizar al guion doble en todas partes.
- Mover el análisis de .dockerenv al controlador lxc.
- Mover todos los montajes vinculados en el contenedor dentro del espacio de nombres.
- No utilizar un montaje vinculado separado para el contenedor.
- Crear siempre un enlace simbólico de /dev/ptmx para libcontainer.
- No matar por pid para otros controladores.
- Añadir registro inicial a libcontainer.
- Clasificar por puerto en
docker ps.
- Mover los controladores de red al paquete de nivel superior de runtime.
- Añadir
--no-pruneadocker rmi. - Añadir el tiempo transcurrido desde la salida en
docker ps.
- graphdriver: añadir etiquetas de construcción.
- Evitar la asignación de puertos previamente asignados y mejorar la asignación de puertos.
- Añadir soporte para --since/--before en
docker ps.
- Limpiar la detención del contenedor.
- Añadir soporte para dominios de búsqueda DNS configurables.
- Añadir soporte para instrucciones WORKDIR relativas.
- Añadir la bandera --output para docker save.
- Eliminar la duplicación de DNS entries en config merging. -> Eliminar la duplicación de entradas DNS al fusionar configuraciones.
- Añadir cpuset.cpus a las opciones de cgroups y del controlador nativo.
- Eliminar docker-ci.
- Promover btrfs. btrfs ya no se considera experimental.
- Añadir la bandera --input a
docker load. - Devolver un error cuando el puente existente no coincide con la dirección IP.
- Eliminar los comentarios antes de analizar las continuaciones de línea para evitar interpretar las instrucciones como comentarios.
- Corregir TestOnlyLoopbackExistsWhenUsingDisableNetworkOption para ignorar las interfaces "DOWN".
- Añadir la implementación de systemd de cgroups y hacer que los contenedores se muestren como unidades de systemd.
- Corregir commit e import cuando no se especifica ningún repositorio.
- Volver a montar /var/lib/docker como --private para corregir el problema de escalabilidad.
- Usar el proxy del entorno al hacer ping al registro remoto.
- Reducir el nivel de error para errores inofensivos.
- Permitir que --volumes-from sean archivos individuales.
- Corregir el búfer de expansión en StdCopy.
- Establecer el error independientemente de attach o stdin. Esto corrige #3364.
- Añadir soporte para --env-file para cargar variables de entorno desde archivos.
- Crear enlace simbólico de /etc/mtab y /proc/mounts.
- Permitir el envío de una sola etiqueta.
- Apagar los contenedores limpiamente al apagar y esperar indefinidamente a que los contenedores se apaguen. Esto hace que el apagado del contenedor al apagar el demonio funcione correctamente a través de SIGTERM.
- No lanzar errores al iniciar un contenedor que ya se está ejecutando.
- Corregir el límite dinámico de asignación de puertos.
- Eliminar setupDev de libcontainer.
- Añadir la versión de la API a
docker version. - Devolver el código de salida correcto al recibir una señal y hacer que SIGQUIT salga sin limpiar.
- Corregir el fallo de montaje de --volumes-from.
- Permitir que los contenedores no privilegiados creen nodos de dispositivo.
- Omitir las pruebas de inicio de sesión debido a la dependencia externa de un servicio alojado.
- Depreciar
docker images --treeydocker images --viz. - Depreciar
docker insert. - Incluir la abstracción base para apparmor. Esto corrige algunos problemas relacionados con apparmor en Ubuntu 14.04.
- Añadir un mensaje de error específico al encontrar un 401 a través de HTTP al realizar push.
- Corregir la comprobación del volumen absoluto.
- Eliminar volumes-from de la configuración.
- Mover las opciones de DNS a hostconfig.
- Actualizar el perfil de apparmor para libcontainer.
- Añadir aviso de depreciación para
docker commit -run.
0.9.1 (2014-03-24)
Constructor (Builder)
- Corregir la impresión de múltiples mensajes en una sola línea. Corrige la salida rota durante las construcciones.
Documentación (Documentation)
- Corregir enlace externo sobre seguridad de contenedores.
Contrib
- Corregir las soluciones alternativas de montaje de cgroup del script de inicio para que sean más similares a cgroupfs-mount y, por lo tanto, funcionen correctamente.
- Añadir variable para DOCKER_LOGFILE a sysvinit y usar append en lugar de sobrescribir al abrir el archivo de registro.
Hack
- Generar hashes md5 y sha256 al construir y cargarlos a través de hack/release.sh.
API remota (Remote API)
- Corregir la detección de content-type en
docker cp.
Tiempo de ejecución (Runtime)
- Usar el modo raw de BSD en Darwin. Corrige nano, tmux y otros.
- Solo desasociar el espacio de nombres de montaje para execin.
- Reintentar recuperar los metadatos de capa hasta 5 veces para
docker pull. - Fusionar la configuración existente al confirmar (commit).
- Corregir pánico en el monitor.
- Desactivar el tiempo de espera de inicio del demonio.
- Corregir el problema #4681: añadir interfaz de loopback cuando las redes están desactivadas.
- Añadir caso de prueba fallido para el problema #4681.
- Enviar SIGTERM al hijo, en lugar de SIGKILL.
- Mostrar la versión del controlador y del kernel en
docker infoincluso cuando no está en modo de depuración. - Crear siempre un enlace simbólico de /dev/ptmx para libcontainer. Esto corrige problemas relacionados con la consola.
- Corregir el problema causado por la ausencia de /etc/apparmor.d.
- No dejar un archivo cidFile vacío cuando falle la creación del contenedor.
- Mejorar el mensaje de depreciación.
- Corregir la salida de attach en darwin.
- devicemapper: mejorar el manejo de dispositivos devicemapper (añadir bloqueo por dispositivo, aumentar el tiempo de espera, desbloquear mientras se duerme).
- devicemapper: tener éxito inmediatamente al eliminar dispositivos inexistentes.
- devicemapper: aumentar el tiempo de espera en waitClose a 10 segundos.
- Eliminar fuga de goroutines ante errores.
- Actualizar parseLxcInfo para cumplir con el nuevo formato lxc1.0.
0.9.0 (2014-03-10)
Constructor (Builder)
- Evitar el montaje/desmontaje adicional durante la construcción. Esto corrige los errores relacionados con el montaje/desmontaje durante la construcción.
- Añadir error a docker build --rm. Esto añade la gestión de errores faltante.
- Prohibir disparadores (triggers) encadenados de onbuild,
onbuild fromyonbuild maintainer. - Hacer de
--rmla opción predeterminada paradocker build.
Documentación (Documentation)
- Descargar el binario del cliente docker para Mac a través de https.
- Actualizar los títulos de las instrucciones de instalación y las descripciones.
- Añadir instrucciones para actualizar boot2docker.
- Añadir ejemplo de reenvío de puertos en los documentos de instalación de OS X.
- Intentar desenredar el repositorio y el registro.
- Actualizar los documentos para explicar más sobre
docker ps. - Actualizar el ejemplo de sshd para usar un Dockerfile.
- Reestructurar algunos ejemplos, incluidos los ejemplos de Python.
- Actualizar los documentos para incluir instrucciones para el ciclo de vida de un contenedor.
- Actualizar la documentación para discutir la rama de documentos.
- No omitir la verificación de certificado para un ejemplo y usar HTTPS.
- Recuperar la sección de contabilidad de memoria y swap que se perdió cuando se eliminó la página del kernel.
- Explicar las advertencias de DNS y cómo corregirlas en sistemas que ejecutan y usan un servidor de nombres local.
Contrib
- Añadir soporte de Tanglu para mkimage-debootstrap.
- Añadir soporte de SteamOS para mkimage-debootstrap.
Hack
- Obtener cobertura de paquetes al ejecutar pruebas de integración.
- Eliminar el archivo Vagrantfile. Este está siendo reemplazado con boot2docker.
- Corregir pruebas en sistemas donde aufs no está disponible.
- Actualizar las instrucciones de empaquetado y eliminar la dependencia de lxc.
API remota (Remote API)
- Mover el código específico de la API al paquete api.
- Corregir el tipo de contenido del encabezado (header content type) para la API. Hace que todos los endpoints utilicen el tipo de contenido adecuado.
- Corregir la autenticación del registro y eliminar las llamadas de ping de CmdPush y CmdPull.
- Añadir nuevas líneas a las funciones de flujo JSON.
Tiempo de ejecución (Runtime)
- No hacer ping al registro desde la CLI. Todas las solicitudes a los registros fluyen a través del demonio.
- Comprobar el retorno de información nula en el controlador lxc. Esto corrige pánicos con versiones anteriores de lxc.
- Devicemapper: limpiezas y corrección para el desmontaje. Corrige dos problemas que causaban que el desmontaje fallara intermitentemente.
- Devicemapper: eliminar el directorio al eliminar el dispositivo. Los directorios no se quedan atrás al eliminar el dispositivo.
- Devicemapper: habilitar skip_block_zeroing. Mejora el rendimiento al no rellenar con ceros los bloques.
- Devicemapper: corregir advertencias de apagado. Corrige advertencias de apagado relacionadas con la eliminación del dispositivo de pool.
- Asegurar que el flujo de
docker cpesté cerrado correctamente. Corrige problemas con archivos que no se copiaban mediantedocker cp. - Dejar de hacer que
tcp://predetermine a127.0.0.1:4243y eliminar el puerto predeterminado para tcp. - Corregir
--runendocker commit. Esto hace quedocker commit --runvuelva a funcionar. - Corregir opciones relacionadas con puentes personalizados. Esto hace que los puentes personalizados funcionen nuevamente.
- Montar y vincular el PTY como consola del contenedor. Esto permite que se ejecute tmux/screen.
- Añadir la biblioteca pura de Go libcontainer para hacer posible ejecutar contenedores usando solo características del kernel de Linux.
- Añadir el controlador de ejecución nativo que utiliza libcontainer y convertirlo en el controlador de ejecución predeterminado.
- Añadir soporte para el manejo de atributos extendidos en archivos.
- Establecer el MTU del contenedor para que sea el mismo que el MTU del host.
- Añadir sumas de comprobación sha256 simples para las capas para acelerar
docker push.
- Mejorar el análisis de la versión del kernel.
- Permitir la agrupación de banderas (
docker run -it).
- Eliminar el controlador de ejecución chroot.
- Corregir división por cero para corregir pánicos.
- Reescribir
docker rmi. - Corregir docker info con lxc 1.0.0.
- Corregir tty de fedora con apparmor.
- No añadir siempre variables de entorno, reemplazar los valores predeterminados con variables de la configuración.
- Corregir una fuga de goroutines.
- Cambiar a Go 1.2.1.
- Corregir comprobaciones de errores de restricción única.
- Manejar enlaces simbólicos para el directorio de datos de Docker y para TMPDIR.
- Añadir advertencias de depreciación para banderas (se deprecia -bandera en favor de --bandera)
- Añadir perfil de apparmor para el controlador de ejecución nativo.
- Mover código específico del sistema de archive a pkg/system.
- Corregir señal duplicada para
docker run -i -t(problema #3336). - Devolver el pid de proceso correcto para lxc.
- Añadir una opción -G para especificar el grupo al que pertenecen los sockets unix.
- Añadir la bandera
-fadocker rmpara forzar la eliminación de contenedores en ejecución. - Matar contenedores fantasma y reiniciar todos los contenedores fantasma cuando se reinicia el demonio de docker.
- Añadir la variable de entorno
DOCKER_RAMDISKpara hacer que Docker funcione cuando la raíz está en un disco RAM.
0.8.1 (2014-02-18)
Constructor (Builder)
- Evitar el montaje/desmontaje adicional durante la construcción. Esto elimina una operación de montaje/desmontaje innecesaria que causaba problemas con devicemapper
- Corregir la regresión con ADD de archivos tar. Esto evita que Docker descomprima archivos tar añadidos mediante ADD desde el sistema de archivos local
- Añadir error a
docker build --rm. Esto añade una verificación de errores faltante para asegurar que los fallos al eliminar contenedores se detecten e informen
Documentación (Documentation)
- Actualizar las instrucciones para reportar problemas
- Advertir contra el uso de enlaces simbólicos para la carpeta de almacenamiento de Docker
- Reemplazar el ejemplo de Firefox con un ejemplo de IceWeasel
- Reescribir el ejemplo de PostgreSQL usando un Dockerfile y añadir más detalles al mismo
- Mejorar la documentación de OS X
API remota (Remote API)
- Corregir API de imágenes rota para versiones anteriores a la 1.7
- Usar la codificación correcta para todos los endpoints de la API que devuelven JSON
- Mover el cliente de la API remota a api/
- Encolar llamadas a la API usando la espera de socket genérica
Tiempo de ejecución (Runtime)
- Corregir el uso de configuraciones personalizadas para puentes y puentes personalizados
- Refactorizar el código de devicemapper para evitar many condiciones de carrera y fallos de montaje/desmontaje -> Refactorizar el código de devicemapper para evitar muchas condiciones de carrera y fallos de montaje/desmontaje
- Eliminar dos pánicos que podían hacer que Docker fallara en algunas situaciones
- No hacer ping al registro desde el cliente CLI
- Habilitar skip_block_zeroing para devicemapper. Esto evita que devicemapper rellene siempre con ceros bloques enteros
- Corregir
--runendocker commit. Esto hace que docker commit almacene--runen la configuración de la imagen - Eliminar el directorio al eliminar el dispositivo devicemapper. Esto limpia los directorios de montaje sobrantes
- Eliminar la capacidad NET_ADMIN para contenedores no privilegiados. Los contenedores no privilegiados no pueden cambiar su configuración de red
- Asegurar que el flujo de
docker cpesté cerrado correctamente - Evitar el montaje/desmontaje adicional durante el registro del contenedor. Esto elimina una operación de montaje/desmontaje innecesaria que causaba problemas con devicemapper
- Dejar de permitir tcp:// como una dirección bin tcp predeterminada que se vincula a 127.0.0.1:4243 y eliminar el puerto predeterminado
- Montar y vincular el PTY como consola del contenedor. Esto permite que tmux y screen se ejecuten en un contenedor
- Limpiar el cierre de archivos. Esto corrige y mejora el manejo de archivos
- Corregir las pruebas del motor en sistemas donde los directorios temporales están enlazados simbólicamente
- Añadir métodos de prueba para save y load
- Evitar desmontar temporalmente el contenedor al reiniciarlo. Esto corrige una carrera para devicemapper durante el reinicio
- Admitir submódulos al construir desde un repositorio de GitHub
- Entrecomillar la ruta del volumen para permitir espacios
- Corregir el comportamiento de ADD de tar remoto. Esto corrige una regresión que causaba que Docker extrajera archivos tar
0.8.0 (2014-02-04)
Características notables desde 0.7.0
Las imágenes y contenedores se pueden eliminar mucho más rápido
Construir una imagen desde el código fuente con docker build ahora es mucho más rápido
El demonio de Docker se inicia y se detiene mucho más rápido
Se ha reducido la huella de memoria de muchas operaciones comunes, al transmitir archivos en lugar de almacenarlos en búfer en memoria, corrigiendo fugas de memoria y corrigiendo varias asignaciones de memoria subóptimas
Se corrigieron varias condiciones de carrera, haciendo que Docker sea más estable bajo una carga de concurrencia muy alta. Esto hace que Docker sea más estable y menos propenso a fallar, y reduce la huella de memoria de muchas operaciones comunes
Todas las operaciones de empaquetado ahora se basan en la implementación estándar de tar del lenguaje Go, que se incluye con el propio Docker. Esto hace que el empaquetado sea más portátil entre distribuciones de host y resuelve varios problemas causados por peculiaridades e incompatibilidades entre diferentes distribuciones de tar
Docker ahora puede crear, eliminar y modificar mayores cantidades de contenedores e imágenes con elegancia gracias a una liberación más agresiva de recursos del sistema. Por ejemplo, la API del controlador de almacenamiento ahora permite a Docker realizar recuento de referencias en los montajes creados por los controladores Con los cambios en curso en los subsistemas de red y ejecución de docker, probar estas áreas ha sido un enfoque de la refactorización. Al mover estos subsistemas a paquetes separados, podemos probar, analizar y monitorear la cobertura y calidad de estos paquetes
Muchos componentes se han separado en subpaquetes más pequeños, cada uno con una suite de pruebas dedicada. As a result, the code is better-tested, more readable and easier to change -> Como resultado, el código está mejor probado, es más legible y fácil de cambiar
La instrucción ADD ahora admite almacenamiento en caché, lo que evita volver a subir innecesariamente el mismo contenido de origen una y otra vez cuando no ha cambiado
La nueva instrucción ONBUILD añade a tu imagen una instrucción de "disparador" (trigger) para ser ejecutada en un momento posterior, cuando la imagen se use como base para otra construcción
Docker ahora se distribuye con un controlador de almacenamiento experimental que utiliza el sistema de archivos BTRFS para copia en escritura (copy-on-write)
Docker está soportado oficialmente en Mac OS X
El demonio de Docker admite la activación de sockets de systemd
0.7.6 (2014-01-14)
Builder
- Do not follow symlink outside of build context
Runtime
- Remount bind mounts when ro is specified
- Use https for fetching docker version
Other
- Inline the test.docker.io fingerprint
- Add ca-certificates to packaging documentation
0.7.5 (2014-01-09)
Builder
- Disable compression for build. More space usage but a much faster upload
- Fix ADD caching for certain paths
- Do not compress archive from git build
Documentation
- Fix error in GROUP add example
- Make sure the GPG fingerprint is inline in the documentation
- Give more specific advice on setting up signing of commits for DCO
Runtime
- Fix misspelled container names
- Do not add hostname when networking is disabled
- Return most recent image from the cache by date
- Return all errors from docker wait
- Add Content-Type Header "application/json" to GET /version and /info responses
Other
- Update DCO to version 1.1
- Update Makefile to use "docker:GIT_BRANCH" as the generated image name
- Update Travis to check for new 1.1 DCO version
0.7.4 (2014-01-07)
Builder
- Fix ADD caching issue with . prefixed path
- Fix docker build on devicemapper by reverting sparse file tar option
- Fix issue with file caching and prevent wrong cache hit
- Use same error handling while unmarshalling CMD and ENTRYPOINT
Documentation
- Simplify and streamline Amazon Quickstart
- Install instructions use unprefixed Fedora image
- Update instructions for mtu flag for Docker on GCE
- Add Ubuntu Saucy to installation
- Fix for wrong version warning on master instead of latest
Runtime
- Only get the image's rootfs when we need to calculate the image size
- Correctly handle unmapping UDP ports
- Make CopyFileWithTar use a pipe instead of a buffer to save memory on docker build
- Fix login message to say pull instead of push
- Fix "docker load" help by removing "SOURCE" prompt and mentioning STDIN
- Make blank -H option default to the same as no -H was sent
- Extract cgroups utilities to own submodule
Other
- Add Travis CI configuration to validate DCO and gofmt requirements
- Add Developer Certificate of Origin Text
- Upgrade VBox Guest Additions
- Check standalone header when pinging a registry server
0.7.3 (2014-01-02)
Builder
- Update ADD to use the image cache, based on a hash of the added content
- Add error message for empty Dockerfile
Documentation
- Fix outdated link to the "Introduction" on www.docker.io
- Update the docs to get wider when the screen does
- Add information about needing to install LXC when using raw binaries
- Update Fedora documentation to disentangle the docker and docker.io conflict
- Add a note about using the new
-mtuflag in several GCE zones
- Add FrugalWare installation instructions
- Add a more complete example of
docker run
- Fix API documentation for creating and starting Privileged containers
- Add missing "name" parameter documentation on "/containers/create"
- Add a mention of
lxc-checkconfigas a way to check for some of the necessary kernel configuration
- Update the 1.8 API documentation with some additions that were added to the docs for 1.7
Hack
- Add missing libdevmapper dependency to the packagers documentation
- Update minimum Go requirement to a hard line at Go 1.2+
- Many minor improvements to the Vagrantfile
- Add ability to customize dockerinit search locations when compiling (to be used very sparingly only by packagers of platforms who require a nonstandard location)
- Add coverprofile generation reporting
- Add
-ato our Go build flags, removing the need for recompiling the stdlib manually
- Update Dockerfile to be more canonical and have less spurious warnings during build
- Fix some miscellaneous
docker pullprogress bar display issues
- Migrate more miscellaneous packages under the "pkg" folder
- Update TextMate highlighting to automatically be enabled for files named "Dockerfile"
- Reorganize syntax highlighting files under a common "contrib/syntax" directory
- Update install.sh script (https://get.docker.io/) to not fail if busybox fails to download or run at the end of the Ubuntu/Debian installation
- Add support for container names in bash completion
Packaging
- Add an official Docker client binary for Darwin (Mac OS X)
- Remove empty "Vendor" string and added "License" on deb package
- Add a stubbed version of "/etc/default/docker" in the deb package
Runtime
- Update layer application to extract tars in place, avoiding file churn while handling whiteouts
- Fix permissiveness of mtime comparisons in tar handling (since GNU tar and Go tar do not yet support sub-second mtime precision)
- Reimplement
docker topin pure Go to work more consistently, and even inside Docker-in-Docker (thus removing the shell injection vulnerability present in some versions oflxc-ps)
- Update
-H unix://to work similarly to-H tcp://by inserting the default values for missing portions
- Fix more edge cases regarding dockerinit and deleted or replaced docker or dockerinit files
- Update container name validation to include '.'
- Fix use of a symlink or non-absolute path as the argument to
-gto work as expected
- Update to handle external mounts outside of LXC, fixing many small mounting quirks and making future execution backends and other features simpler
- Update to use proper box-drawing characters everywhere in
docker images -tree - Move MTU setting from LXC configuration to directly use netlink
- Add
-Soption to external tar invocation for more efficient spare file handling
- Add arch/os info to User-Agent string, especially for registry requests
- Add
-mtuoption to Docker daemon for configuring MTU
- Fix
docker buildto exit with a non-zero exit code on error
- Add
DOCKER_HOSTenvironment variable to configure the client-Hflag without specifying it manually for every invocation
0.7.2 (2013-12-16)
Runtime
- Validate container names on creation with standard regex
- Increase maximum image depth to 127 from 42
- Continue to move api endpoints to the job api
- Add -bip flag to allow specification of dynamic bridge IP via CIDR
- Allow bridge creation when ipv6 is not enabled on certain systems
- Set hostname and IP address from within dockerinit
- Drop capabilities from within dockerinit
- Fix volumes on host when symlink is present the image
- Prevent deletion of image if ANY container is depending on it even if the container is not running
- Update docker push to use new progress display
- Use os.Lstat to allow mounting unix sockets when inspecting volumes
- Adjust handling of inactive user login
- Add missing defines in devicemapper for older kernels
- Allow untag operations with no container validation
- Add auth config to docker build
Documentation
- Add more information about Docker logging
- Add RHEL documentation
- Add a direct example for changing the CMD that is run in a container
- Update Arch installation documentation
- Add section on Trusted Builds
- Add Network documentation page
Other
- Add new cover bundle for providing code coverage reporting
- Separate integration tests in bundles
- Make Tianon the hack maintainer
- Update mkimage-debootstrap with more tweaks for keeping images small
- Use https to get the install script
- Remove vendored dotcloud/tar now that Go 1.2 has been released
0.7.1 (2013-12-05)
Documentation
- Add @SvenDowideit as documentation maintainer
- Add links example
- Add documentation regarding ambassador pattern
- Add Google Cloud Platform docs
- Add dockerfile best practices
- Update doc for RHEL
- Update doc for registry
- Update Postgres examples
- Update doc for Ubuntu install
- Improve remote api doc
Runtime
- Add hostconfig to docker inspect
- Implement
docker log -fto stream logs - Add env variable to disable kernel version warning
- Add -format to
docker inspect - Support bind-mount for files
- Fix bridge creation on RHEL
- Fix image size calculation
- Make sure iptables are called even if the bridge already exists
- Fix issue with stderr only attach
- Remove init layer when destroying a container
- Fix same port binding on different interfaces
docker buildnow returns the correct exit code- Fix
docker portto display correct port docker buildnow check that the dockerfile exists client sidedocker attachnow returns the correct exit code- Remove the name entry when the container does not exist
Registry
- Improve progress bars, add ETA for downloads
- Simultaneous pulls now waits for the first to finish instead of failing
- Tag only the top-layer image when pushing to registry
- Fix issue with offline image transfer
- Fix issue preventing using ':' in password for registry
Other
- Add pprof handler for debug
- Create a Makefile
- Use stdlib tar that now includes fix
- Improve make.sh test script
- Handle SIGQUIT on the daemon
- Disable verbose during tests
- Upgrade to go1.2 for official build
- Improve unit tests
- The test suite now runs all tests even if one fails
- Refactor C in Go (Devmapper)
- Fix OS X compilation
0.7.0 (2013-11-25)
Notable features since 0.6.0
- Storage drivers: choose from aufs, device-mapper, or vfs.
- Standard Linux support: docker now runs on unmodified Linux kernels and all major distributions.
- Links: compose complex software stacks by connecting containers to each other.
- Container naming: organize your containers by giving them memorable names.
- Advanced port redirects: specify port redirects per interface, or keep sensitive ports private.
- Offline transfer: push and pull images to the filesystem without losing information.
- Quality: numerous bugfixes and small usability improvements. Significant increase in test coverage.
0.6.7 (2013-11-21)
Runtime
- Improve stability, fixes some race conditions
- Skip the volumes mounted when deleting the volumes of container.
- Fix layer size computation: handle hard links correctly
- Use the work Path for docker cp CONTAINER:PATH
- Fix tmp dir never cleanup
- Speedup docker ps
- More informative error message on name collisions
- Fix nameserver regex
- Always return long id's
- Fix container restart race condition
- Keep published ports on docker stop;docker start
- Fix container networking on Fedora
- Correctly express "any address" to iptables
- Fix network setup when reconnecting to ghost container
- Prevent deletion if image is used by a running container
- Lock around read operations in graph
RemoteAPI
- Return full ID on docker rmi
Client
- Add -tree option to images
- Offline image transfer
- Exit with status 2 on usage error and display usage on stderr
- Do not forward SIGCHLD to container
- Use string timestamp for docker events -since
Other
- Update to go 1.2rc5
- Add /etc/default/docker support to upstart
0.6.6 (2013-11-06)
Runtime
- Ensure container name on register
- Fix regression in /etc/hosts
- Add lock around write operations in graph
- Check if port is valid
- Fix restart runtime error with ghost container networking
- Add some more colors and animals to increase the pool of generated names
- Fix issues in docker inspect
- Escape apparmor confinement
- Set environment variables using a file.
- Prevent docker insert to erase something
- Prevent DNS server conflicts in CreateBridgeIface
- Validate bind mounts on the server side
- Use parent image config in docker build
- Fix regression in /etc/hosts
Client
- Add -P flag to publish all exposed ports
- Add -notrunc and -q flags to docker history
- Fix docker commit, tag and import usage
- Add stars, trusted builds and library flags in docker search
- Fix docker logs with tty
RemoteAPI
- Make /events API send headers immediately
- Do not split last column docker top
- Add size to history
Other
- Contrib: Desktop integration. Firefox usecase.
- Dockerfile: bump to go1.2rc3
0.6.5 (2013-10-29)
Runtime
- Containers can now be named
- Containers can now be linked together for service discovery
- 'run -a', 'start -a' and 'attach' can forward signals to the container for better integration with process supervisors
- Automatically start crashed containers after a reboot
- Expose IP, port, and proto as separate environment vars for container links
- Allow ports to be published to specific ips
- Prohibit inter-container communication by default
- Ignore ErrClosedPipe for stdin in Container.Attach
- Remove unused field kernelVersion
- Fix issue when mounting subdirectories of /mnt in container
- Fix untag during removal of images
- Check return value of syscall.Chdir when changing working directory inside dockerinit
Client
- Only pass stdin to hijack when needed to avoid closed pipe errors
- Use less reflection in command-line method invocation
- Monitor the tty size after starting the container, not prior
- Remove useless os.Exit() calls after log.Fatal
Hack
- Add initial init scripts library and a safer Ubuntu packaging script that works for Debian
- Add -p option to invoke debootstrap with http_proxy
- Update install.sh with $sh_c to get sudo/su for modprobe
- Update all the mkimage scripts to use --numeric-owner as a tar argument
- Update hack/release.sh process to automatically invoke hack/make.sh and bail on build and test issues
Other
- Documentation: Fix the flags for nc in example
- Testing: Remove warnings and prevent mount issues
- Testing: Change logic for tty resize to avoid warning in tests
- Builder: Fix race condition in docker build with verbose output
- Registry: Fix content-type for PushImageJSONIndex method
- Contrib: Improve helper tools to generate debian and Arch linux server images
0.6.4 (2013-10-16)
Runtime
- Add cleanup of container when Start() fails
- Add better comments to utils/stdcopy.go
- Add utils.Errorf for error logging
- Add -rm to docker run for removing a container on exit
- Remove error messages which are not actually errors
- Fix
docker rmwith volumes - Fix some error cases where an HTTP body might not be closed
- Fix panic with wrong dockercfg file
- Fix the attach behavior with -i
- Record termination time in state.
- Use empty string so TempDir uses the OS's temp dir automatically
- Make sure to close the network allocators
- Autorestart containers by default
- Bump vendor kr/pty to commit 3b1f6487b
(syscall.O_NOCTTY) - lxc: Allow set_file_cap capability in container
- Move run -rm to the cli only
- Split stdout stderr
- Always create a new session for the container
Testing
- Add aggregated docker-ci email report
- Add cleanup to remove leftover containers
- Add nightly release to docker-ci
- Add more tests around auth.ResolveAuthConfig
- Remove a few errors in tests
- Catch errClosing error when TCP and UDP proxies are terminated
- Only run certain tests with TESTFLAGS='-run TestName' make.sh
- Prevent docker-ci to test closing PRs
- Replace panic by log.Fatal in tests
- Increase TestRunDetach timeout
Documentation
- Add initial draft of the Docker infrastructure doc
- Add devenvironment link to CONTRIBUTING.md
- Add
apt-get install curlto Ubuntu docs - Add explanation for export restrictions
- Add .dockercfg doc
- Remove Gentoo install notes about #1422 workaround
- Fix help text for -v option
- Fix Ping endpoint documentation
- Fix parameter names in docs for ADD command
- Fix ironic typo in changelog
- Various command fixes in postgres example
- Document how to edit and release docs
- Minor updates to
postgresql_service.rst
- Clarify LGTM process to contributors
- Corrected error in the package name
- Document what
vagrant upis actually doing
- improve doc search results
- Cleanup whitespace in API 1.5 docs
- use angle brackets in MAINTAINER example email
- Update archlinux.rst
- Changes to a new style for the docs. Includes version switcher.
- Formatting, add information about multiline json
- Improve registry and index REST API documentation
- Replace deprecated upgrading reference to docker-latest.tgz, which hasn't been updated since 0.5.3
- Update Gentoo installation documentation now that we're in the portage tree proper
- Cleanup and reorganize docs and tooling for contributors and maintainers
- Minor spelling correction of protocoll -> protocol
Contrib
- Add vim syntax highlighting for Dockerfiles from @honza
- Add mkimage-arch.sh
- Reorganize contributed completion scripts to add zsh completion
Hack
- Add vagrant user to the docker group
- Add proper bash completion for "docker push"
- Add xz utils as a runtime dep
- Add cleanup/refactor portion of #2010 for hack and Dockerfile updates
- Add contrib/mkimage-centos.sh back (from #1621), and associated documentation link
- Add several of the small make.sh fixes from #1920, and make the output more consistent and contributor-friendly
- Add @tianon to hack/MAINTAINERS
- Improve network performance for VirtualBox
- Revamp install.sh to be usable by more people, and to use official install methods whenever possible (apt repo, portage tree, etc.)
- Fix contrib/mkimage-debian.sh apt caching prevention
- Add Dockerfile.tmLanguage to contrib
- Configured FPM to make /etc/init/docker.conf a config file
- Enable SSH Agent forwarding in Vagrant VM
- Several small tweaks/fixes for contrib/mkimage-debian.sh
Other
- Builder: Abort build if mergeConfig returns an error and fix duplicate error message
- Packaging: Remove deprecated packaging directory
- Registry: Use correct auth config when logging in.
- Registry: Fix the error message so it is the same as the regex
0.6.3 (2013-09-23)
Packaging
- Add 'docker' group on install for ubuntu package
- Update tar vendor dependency
- Download apt key over HTTPS
Runtime
- Only copy and change permissions on non-bindmount volumes
- Allow multiple volumes-from
- Fix HTTP imports from STDIN
Documentation
- Update section on extracting the docker binary after build
- Update development environment docs for new build process
- Remove 'base' image from documentation
Other
- Client: Fix detach issue
- Registry: Update regular expression to match index
0.6.2 (2013-09-17)
Runtime
- Add domainname support
- Implement image filtering with path.Match
- Remove unnecessary warnings
- Remove os/user dependency
- Only mount the hostname file when the config exists
- Handle signals within the
docker logincommand
- UID and GID are now also applied to volumes
docker startset error code upon errordocker runset the same error code as the process started
Builder
- Add -rm option in order to remove intermediate containers
- Allow multiline for the RUN instruction
Registry
- Implement login with private registry
- Fix push issues
Other
- Hack: Vendor all dependencies
- Remote API: Bump to v1.5
- Packaging: Break down hack/make.sh into small scripts, one per 'bundle': test, binary, ubuntu etc.
- Documentation: General improvements
0.6.1 (2013-08-23)
Registry
- Pass "meta" headers in API calls to the registry
Packaging
- Use correct upstart script with new build tool
- Use libffi-dev, don't build it from sources
- Remove duplicate mercurial install command
0.6.0 (2013-08-22)
Runtime
- Add lxc-conf flag to allow custom lxc options
- Add an option to set the working directory
- Add Image name to LogEvent tests
- Add -privileged flag and relevant tests, docs, and examples
- Add websocket support to /container/
/attach/ws - Add warning when net.ipv4.ip_forwarding = 0
- Add hostname to environment
- Add last stable version in
docker version
- Fix race conditions in parallel pull
- Fix Graph ByParent() to generate list of child images per parent image.
- Fix typo: fmt.Sprint -> fmt.Sprintf
- Fix small \n error un docker build
- Fix to "Inject dockerinit at /.dockerinit"
- Fix #910. print user name to docker info output
- Use Go 1.1.2 for dockerbuilder
- Use ranged for loop on channels
- Use utils.ParseRepositoryTag instead of strings.Split(name, ":") in server.ImageDelete
- Improve CMD, ENTRYPOINT, and attach docs.
- Improve connect message with socket error
- Load authConfig only when needed and fix useless WARNING
- Show tag used when image is missing
- Apply volumes-from before creating volumes
- Make docker run handle SIGINT/SIGTERM
- Prevent crash when .dockercfg not readable
- Install script should be fetched over https, not http.
- API, issue 1471: Use groups for socket permissions
- Correctly detect IPv4 forwarding
- Mount /dev/shm as a tmpfs
- Switch from http to https for get.docker.io
- Let userland proxy handle container-bound traffic
- Update the Docker CLI to specify a value for the "Host" header.
- Change network range to avoid conflict with EC2 DNS
- Reduce connect and read timeout when pinging the registry
- Parallel pull
- Handle ip route showing mask-less IP addresses
- Allow ENTRYPOINT without CMD
- Always consider localhost as a domain name when parsing the FQN repos name
- Refactor checksum
Documentation
- Add MongoDB image example
- Add instructions for creating and using the docker group
- Add sudo to examples and installation to documentation
- Add ufw doc
- Add a reference to ps -a
- Add information about Docker's high level tools over LXC.
- Fix typo in docs for docker run -dns
- Fix a typo in the ubuntu installation guide
- Fix to docs regarding adding docker groups
- Update default -H docs
- Update readme with dependencies for building
- Update amazon.rst to explain that Vagrant is not necessary for running Docker on ec2
- PostgreSQL service example in documentation
- Suggest installing linux-headers by default.
- Change the twitter handle
- Clarify Amazon EC2 installation
- 'Base' image is deprecated and should no longer be referenced in the docs.
- Move note about officially supported kernel
- Solved the logo being squished in Safari
Builder
- Add USER instruction do Dockerfile
- Add workdir support for the Buildfile
- Add no cache for docker build
- Fix docker build and docker events output
- Only count known instructions as build steps
- Make sure ENV instruction within build perform a commit each time
- Forbid certain paths within docker build ADD
- Repository name (and optionally a tag) in build usage
- Make sure ADD will create everything in 0755
Remote API
- Sort Images by most recent creation date.
- Reworking opaque requests in registry module
- Add image name in /events
- Use mime pkg to parse Content-Type
- 650 http utils and user agent field
Hack
- Bash Completion: Limit commands to containers of a relevant state
- Add docker dependencies coverage testing into docker-ci
Packaging
- Docker-brew 0.5.2 support and memory footprint reduction
- Add new docker dependencies into docker-ci
- Revert "docker.upstart: avoid spawning a
shprocess"
- Docker-brew and Docker standard library
- Release docker with docker
- Fix the upstart script generated by get.docker.io
- Enabled the docs to generate manpages.
- Revert Bind daemon to 0.0.0.0 in Vagrant.
Register
- Improve auth push
- Registry unit tests + mock registry
Tests
- Improve TestKillDifferentUser to prevent timeout on buildbot
- Fix typo in TestBindMounts (runContainer called without image)
- Improve TestGetContainersTop so it does not rely on sleep
- Relax the lo interface test to allow iface index != 1
- Add registry functional test to docker-ci
- Add some tests in server and utils
Other
- Contrib: bash completion script
- Client: Add docker cp command and copy api endpoint to copy container files/folders to the host
- Don't read from stdout when only attached to stdin
0.5.3 (2013-08-13)
Runtime
- Use docker group for socket permissions
- Spawn shell within upstart script
- Handle ip route showing mask-less IP addresses
- Add hostname to environment
Builder
- Make sure ENV instruction within build perform a commit each time
0.5.2 (2013-08-08)
- Builder: Forbid certain paths within docker build ADD
- Runtime: Change network range to avoid conflict with EC2 DNS
- API: Change daemon to listen on unix socket by default
0.5.1 (2013-07-30)
Runtime
- Add
psargs todocker top - Add support for container ID files (pidfile like)
- Add container=lxc in default env
- Support networkless containers with
docker run -nanddocker -d -b=none
- Stdout/stderr logs are now stored in the same file as JSON
- Allocate a /16 IP range by default, with fallback to /24. Try 12 ranges instead of 3.
- Change .dockercfg format to json and support multiple auth remote
- Do not override volumes from config
- Fix issue with EXPOSE override
API
- Docker client now sets useragent (RFC 2616)
- Add /events endpoint
Builder
- ADD command now understands URLs
- CmdAdd and CmdEnv now respect Dockerfile-set ENV variables
- Create directories with 755 instead of 700 within ADD instruction
Hack
- Simplify unit tests with helpers
- Improve docker.upstart event
- Add coverage testing into docker-ci
0.5.0 (2013-07-17)
Runtime
- List all processes running inside a container with 'docker top'
- Host directories can be mounted as volumes with 'docker run -v'
- Containers can expose public UDP ports (eg, '-p 123/udp')
- Optionally specify an exact public port (eg. '-p 80:4500')
- 'docker login' supports additional options
- Don't save a container's hostname when committing an image.
Registry
- New image naming scheme inspired by Go packaging convention allows arbitrary combinations of registries
- Fix issues when uploading images to a private registry
Builder
- ENTRYPOINT instruction sets a default binary entry point to a container
- VOLUME instruction marks a part of the container as persistent data
- 'docker build' displays the full output of a build by default
0.4.8 (2013-07-01)
- Builder: New build operation ENTRYPOINT adds an executable entry point to the container. - Runtime: Fix a bug which caused 'docker run -d' to no longer print the container ID.
- Tests: Fix issues in the test suite
0.4.7 (2013-06-28)
Remote API
- The progress bar updates faster when downloading and uploading large files
- Fix a bug in the optional unix socket transport
Runtime
- Improve detection of kernel version
- Host directories can be mounted as volumes with 'docker run -b'
- fix an issue when only attaching to stdin
- Use 'tar --numeric-owner' to avoid uid mismatch across multiple hosts
Hack
- Improve test suite and dev environment
- Remove dependency on unit tests on 'os/user'
Other
- Registry: easier push/pull to a custom registry
- Documentation: add terminology section
0.4.6 (2013-06-22)
- Runtime: fix a bug which caused creation of empty images (and volumes) to crash.
0.4.5 (2013-06-21)
- Builder: 'docker build git://URL' fetches and builds a remote git repository
- Runtime: 'docker ps -s' optionally prints container size
- Tests: improved and simplified
- Runtime: fix a regression introduced in 0.4.3 which caused the logs command to fail.
- Builder: fix a regression when using ADD with single regular file.
0.4.4 (2013-06-19)
- Builder: fix a regression introduced in 0.4.3 which caused builds to fail on new clients.
0.4.3 (2013-06-19)
Builder
- ADD of a local file will detect tar archives and unpack them
- ADD improvements: use tar for copy + automatically unpack local archives
- ADD uses tar/untar for copies instead of calling 'cp -ar'
- Fix the behavior of ADD to be (mostly) reverse-compatible, predictable and well-documented.
- Fix a bug which caused builds to fail if ADD was the first command
- Nicer output for 'docker build'
Runtime
- Remove bsdtar dependency
- Add unix socket and multiple -H support
- Prevent rm of running containers
- Usar cookiejar de go1.1
- Corregir el problema al desasociarse de un contenedor TTY en ejecución
- Prohibir push/pull en paralelo para una única imagen/repositorio. Corrige
#311 - Corregir la condición de carrera dentro del comando Run al asociarse (attaching).
Cliente (Client)
- Tamaños de barra de progreso legibles por humanos (HumanReadable) en pull
- Corregir la salida del commit de git de docker version
API
- Enviar todas las etiquetas en la llamada a la API History
- Añadir búsqueda de etiquetas al comando history. Corrige #882
Documentación (Documentation)
- Corregir comando faltante en el ejemplo del bouncer de irc
0.4.2 (2013-06-17)
- Empaquetado: Se aumentó la versión para evitar un error de Ubuntu
0.4.1 (2013-06-17)
API remota (Remote Api)
- Añadir bandera para permitir solicitudes de dominios cruzados (cross-domain)
- Añadir tamaños de imágenes y contenedores en docker ps y docker images
Tiempo de ejecución (Runtime)
- Configurar la configuración de DNS para todo el host con 'docker -d -dns'
- Detectar una configuración de DNS defectuosa y reemplazarla con un valor predeterminado público
- Permitir docker run
: - Ahora puedes especificar el puerto público (ej: -p 80:4500)
- Mejorar la eliminación de imágenes para recolectar elementos padre no referenciados
Cliente (Client)
- Permitir múltiples parámetros en inspect
- Imprimir el ID del contenedor antes del secuestro (hijack) en
docker run
Registro (Registry)
- Añadir verificación de expresión regular en el nombre del repositorio
- Mover la autenticación al cliente
- Eliminar la verificación de inicio de sesión en pull
Otros (Other)
- Vagrantfile: Añadir el puerto de la API rest al reenvío de puertos (port_forward) de vagrantfile
- Actualizar a Go 1.1
- Constructor: no ignorar la última línea en Dockerfile cuando no termina con \n
0.4.0 (2013-06-03)
Constructor (Builder)
- Presentación del Constructor (Builder)
- 'docker build' construye un contenedor, capa por capa, a partir de un repositorio de origen que contiene un Dockerfile
API remota (Remote API)
- Presentación de la API remota
- Controlar Docker mediante programación usando una API simple de HTTP/json
Tiempo de ejecución (Runtime)
- Varias mejoras de confiabilidad y usabilidad
0.3.4 (2013-05-30)
Constructor (Builder)
- 'docker build' construye un contenedor, capa por capa, a partir de un repositorio de origen que contiene un Dockerfile
- 'docker build -t FOO' aplica la etiqueta FOO al contenedor recién construido.
Tiempo de ejecución (Runtime)
- Las TTY interactivas manejan correctamente el cambio de tamaño de la ventana
- Corregir cómo se fusiona la configuración entre capas
API remota (Remote API)
- Dividir stdout y stderr en 'docker run'
- Opcionalmente escuchar en una IP y puerto diferentes (usar bajo tu propio riesgo)
Documentación (Documentation)
- Mejorar las instrucciones de instalación.
0.3.3 (2013-05-23)
- Registro: Corregir regresión de push
- Varias correcciones de errores
0.3.2 (2013-05-09)
Registro (Registry)
- Mejorar el proceso de suma de comprobación (checksum)
- Usar el tamaño para tener una buena barra de progreso al realizar push
- Usar el archivo real si existe para acelerar el push
- Corregir error 400 en push
Tiempo de ejecución (Runtime)
- Almacenar el archivo real al confirmar (commit)
0.3.1 (2013-05-08)
Constructor (Builder)
- Implementar la capacidad de ejecución automática dentro del constructor de docker
- Añadir almacenamiento en caché al constructor de docker
- Añadir soporte para el constructor de docker con API nativa como comando de nivel superior
- Implementar ENV dentro del constructor de docker
- Comprobar la existencia del comando antes de crear y añadir pruebas unitarias para el caso
- Usar cualquier espacio en blanco en lugar de tabuladores
Tiempo de ejecución (Runtime)
- Añadir la versión de go a las informaciones de depuración
- Versión del kernel - no mostrar el guion si flavor está vacío
Registro (Registry)
- Añadir el comando de nivel superior docker search para buscar en un repositorio
- Corregir la descarga (pull) para imágenes oficiales con etiqueta específica
- Corregir problema al iniciar sesión con un usuario diferente e intentar realizar push
- Mejorar la suma de comprobación: cálculo asíncrono
Imágenes (Images)
- Exportar gráfico de imágenes a dot (graphviz)
- Corregir la función ByParent
Documentación (Documentation)
- Nueva introducción y descripción general de alto nivel
- Añadir la documentación para el constructor de docker
- Corrección de CSS para la documentación de docker para que los documentos de la API REST se vean mejor.
- Corregir error en el encabezado de la página de ejemplo de CouchDB
- Corregir el formato de README
- Actualizar el sitio web www.docker.io.
Otros (Other)
- Sitio web: nueva descripción general de alto nivel
- Makefile: Intercambiar "go get" por "go get -d", especialmente para compilar en go1.1rc
- Empaquetado: empaquetado de ubuntu; problema #510: Usar el paquete golang-stable PPA para construir docker
0.3.0 (2013-05-06)
Tiempo de ejecución (Runtime)
- Corregir la verificación de existencia del comando
- strings.Split puede devolver una cadena vacía si no hay coincidencia
- Corregir un fallo de índice fuera de rango si la memoria cgroup no está configurada
Documentación (Documentation)
- Varias mejoras
- Nuevo ejemplo: compartir datos entre 2 bases de datos couchdb
Otros (Other)
- Vagrant: Usar solo una línea deb en /etc/apt
- Registro: Implementar el nuevo registro
0.2.2 (2013-05-03)
- Soporte para volúmenes de datos ('docker run -v=RUTA')
- Compartir volúmenes de datos entre contenedores ('docker run -volumes-from')
- Mejorar la documentación
- Actualizar a Go 1.0.3
- Varias actualizaciones al entorno de desarrollo para colaboradores
0.2.1 (2013-05-01)
- 'docker commit -run' empaqueta una capa con opciones de tiempo de ejecución predeterminadas: comando, puertos, etc.
- Mejorar el proceso de instalación en Vagrant
- Nueva operación de Dockerfile: "maintainer"
- Nueva operación de Dockerfile: "expose"
- Nueva operación de Dockerfile: "cmd"
- Script de contribución para construir una capa base de Debian
- 'docker -d -r': reiniciar contenedores bloqueados al iniciar el demonio
- Tiempo de ejecución: mejorar la cobertura de las pruebas
0.2.0 (2013-04-23)
- Tiempo de ejecución: los contenedores fantasma se pueden matar y esperar por ellos
- Documentación: actualizar las instrucciones de instalación
- Empaquetado: corregir Vagrantfile
- Desarrollo: automatizar la liberación de binarios y paquetes de ubuntu
- Añadir un registro de cambios (changelog)
- Varias correcciones de errores
0.1.8 (2013-04-22)
- Detectar dinámicamente las capacidades de cgroup
- Emitir advertencia de estabilidad en kernels <3.8
- 'docker push' almacena en búfer en el disco en lugar de en la memoria
- Corregir 'docker diff' para archivos eliminados
- Corregir 'docker stop' para contenedores fantasma
- Corregir el manejo de pidfile
- Varias correcciones de errores y mejoras de estabilidad
0.1.7 (2013-04-18)
- Los puertos del contenedor están disponibles en localhost
- 'docker ps' shows los puertos TCP asignados -> 'docker ps' muestra los puertos TCP asignados
- Los colaboradores pueden ejecutar 'make hack' para iniciar una máquina virtual de integración continua
- Agilizar el empaquetado y la carga de ubuntu
- Varias correcciones de errores y mejoras de estabilidad
0.1.6 (2013-04-17)
- Registrar el autor de una imagen con 'docker commit -author'
0.1.5 (2013-04-17)
- Desactivar el modo independiente (standalone)
- Usar un resolver de DNS personalizado con 'docker -d -dns'
- Detectar contenedores fantasma
- Mejorar el diagnóstico de capacidades del sistema faltantes
- Permitir la desactivación de los límites de memoria en tiempo de compilación
- Añadir empaquetado debian
- Documentación: instalación en Arch Linux
- Documentación: ejecución de Redis en docker
- Corregir compatibilidad con lxc 0.9
- Cargar automáticamente el módulo aufs
- Varias correcciones de errores y mejoras de estabilidad
0.1.4 (2013-04-09)
- Soporte completo para emulación de TTY
- Desasociarse de una sesión TTY con la secuencia de escape
C-p C-q - Varias correcciones de errores y mejoras de estabilidad
- Pequeñas mejoras en la interfaz de usuario
- Crear automáticamente nuestra propia interfaz de puente 'docker0'
0.1.3 (2013-04-04)
- Elegir el puerto frontend TCP con '-p :PUERTO'
- El formato de la capa tiene versión
- Importantes mejoras de confiabilidad para el administrador de procesos
- Varias correcciones de errores y mejoras de estabilidad
0.1.2 (2013-04-03)
- Establecer el nombre de host del contenedor con 'docker run -h'
- Asociación selectiva en la ejecución con 'docker run -a [stdin[,stdout[,stderr]]]'
- Varias correcciones de errores y mejoras de estabilidad
- Pulido de la interfaz de usuario
- Barra de progreso en push/pull
- Usar compresión XZ por defecto
- Hacer que el asignador de IP sea perezoso (lazy)
0.1.1 (2013-03-31)
- Mostrar ID cortos para mayor comodidad
- Estabilizar la gestión de procesos
- Las capas pueden incluir un mensaje de confirmación (commit message)
- 'docker attach' simplificado
- Corregir soporte para reasociación
- Varias correcciones de errores y mejoras de estabilidad
- Descarga automática en la ejecución
- Inicio de sesión automático en push
- Documentación mejorada
0.1.0 (2013-03-23)
Lanzamiento público inicial
- Implementar el registro para realizar push/pull de imágenes
- Asignación de puertos TCP
- Corregir termcaps en Linux
- Añadir documentación
- Añadir soporte de Vagrant con Vagrantfile
- Añadir pruebas unitarias
- Añadir repositorios/etiquetas para facilitar la gestión de imágenes
- Mejorar la implementación de capas