Compartir comentarios
Las respuestas se generan en base a la documentación.

Docker Engine prior releases

Tabla de contenidos

1.13.1 (2017-02-08)

Important

On Linux distributions where devicemapper was the default storage driver, the overlay2, or overlay is now used by default (if the kernel supports it). To use devicemapper, you can manually configure the storage driver to use through the --storage-driver daemon option, or by setting "storage-driver" in the daemon.json configuration file.

Important

In 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 rm command.

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:

  1. Remove plugins.json from: /var/lib/docker/plugins/.
  2. Restart Docker. Verify that the Docker daemon starts with no errors.
  3. Reinstall your plugins.

Contrib

  • Do not require a custom build of tini #28454
  • Upgrade to Go 1.7.5 #30489

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 inspect when 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

  • Fix small regression with old plugins in Windows #30150
  • Fix warning on Windows #30730

1.13.0 (2017-01-18)

Important

On Linux distributions where devicemapper was the default storage driver, the overlay2, or overlay is now used by default (if the kernel supports it). To use devicemapper, you can manually configure the storage driver to use through the --storage-driver daemon option, or by setting "storage-driver" in the daemon.json configuration file.

Important

In 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 rm command.

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:

  1. Remove plugins.json from: /var/lib/docker/plugins/.
  2. Restart Docker. Verify that the Docker daemon starts with no errors.
  3. 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 --network to docker build #27702
  • Fix inconsistent behavior between --label flag on docker build and docker 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
  • Allow USER in builder on Windows #28415
  • Handle env case-insensitive on Windows #28725

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 deb support 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/private directory, not just under ~/.docker/trust/private/root_keys or ~/.docker/trust/private/tuf_keys docker/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 --tail returned 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 --attachable network support to enable docker run to work in swarm-mode overlay network #25962
  • Add support for host port PublishMode in services using the --publish option in docker service create #27917 and #28943
  • Add support for Windows server 2016 overlay network driver (requires upcoming ws2016 update) #28182
  • Change the default FORWARD policy to DROP #28257
  • Add support for specifying static IP addresses for predefined network on windows #22208
  • Fix --publish flag on docker run not 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-cidr to not have the correct addresses #26659
  • Add creation timestamp to docker network inspect #26130
  • Show peer nodes in docker network inspect for swarm overlay networks #28078
  • Enable ping for service VIP address #28019

Plugins

  • Move plugins out of experimental #28226
  • Add --force on docker plugin remove #25096
  • Add support for dynamically reloading authorization plugins #22770
  • Add description in docker plugin ls #25556
  • Add -f/--format to docker plugin inspect #25990
  • Add docker plugin create command #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 install into two API call /privileges and /pull #28963

Remote API (v1.25) & Client

  • Support docker stack deploy from a Compose file #27998
  • (experimental) Implement checkpoint and restore #22049
  • Add --format flag to docker info #23808
  • Remove --name from docker volume create #23830
  • Add docker stack ls #23886
  • Add a new is-task ps filter #24411
  • Add --env-file flag to docker service create #24844
  • Add --format on docker stats #24987
  • Make docker node ps default to self in swarm node #25214
  • Add --group in docker service create #25317
  • Add --no-trunc to service/node/stack ps output #25337
  • Add Logs to ContainerAttachOptions so 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
  • Add Isolation to the /info endpoint #26255
  • Add userns to the /info endpoint #27840
  • 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 --format flag to network ls and volume ls #23475
  • Allow the top-level docker inspect command to inspect any kind of resource #23614
  • Add --cpus flag to control cpu resources for docker run and docker create, and add NanoCPUs to HostConfig #27958
  • Allow unsetting the --entrypoint in docker run or docker create #23718
  • Restructure CLI commands by adding docker image and docker container commands for more consistency #26025
  • Remove COMMAND column from service ls output #28029
  • Add --format to docker events #26268
  • Allow specifying multiple nodes on docker node ps #26299
  • Restrict fractional digits to 2 decimals in docker images output #26303
  • Add --dns-option to docker run #28186
  • Add Image ID to container commit event #28128
  • Add external binaries version to docker info #27955
  • Add information for Manager Addresses in the output of docker info #28042
  • Add a new reference filter for docker images #27872

Runtime

  • Add --experimental daemon flag to enable experimental features, instead of shipping them in a separate build #27223
  • Add a --shutdown-timeout daemon flag to specify the default timeout (in seconds) to stop containers gracefully before daemon exit #23036
  • Add --stop-timeout to specify the timeout value (in seconds) for individual containers to stop #22566
  • Add a new daemon flag --userland-proxy-path to allow configuring the userland proxy instead of using the hardcoded docker-proxy from $PATH #26882
  • Add boolean flag --init on dockerd and on docker run to use tini a zombie-reaping init process as PID 1 #26061 #28037
  • Add a new daemon flag --init-path to allow configuring the path to the docker-init binary #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 --rm by moving it from the client to the daemon #20848
  • Add support for --cpu-rt-period and --cpu-rt-runtime flags, allowing containers to run real-time threads when CONFIG_RT_GROUP_SCHED is enabled in the kernel #23430
  • Allow parallel stop, pause, unpause #24761 / #26778
  • Implement XFS quota for overlay2 #24771
  • 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 stats support in Windows #25737
  • Allow using --pid=host and --net=host when --userns=host #25771
  • (experimental) Add metrics (Prometheus) output for basic container, image, and daemon operations #25820
  • Fix issue in docker stats with NetworkDisabled=true #25905
  • Add docker top support in Windows #25891
  • Record pid of exec'd process #27470
  • Add support for looking up user/groups via getent #27599
  • Add new docker system command with df and prune subcommands for system resource management, as well as docker {container,image,volume,network} prune subcommands #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 cp failing to copy to a container's volume dir on CentOS with devicemapper #28047
  • Promote overlay(2) graphdriver #27932
  • Add --seccomp-profile daemon flag to specify a path to a seccomp profile that overrides the default #26276
  • Fix ulimits in docker inspect when --default-ulimit is set on daemon #26405
  • Add workaround for overlay issues during build in older kernels #28138
  • Add TERM environment variable on docker exec -t #26461
  • Honor a container’s --stop-signal setting upon docker 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 ps output more bearable by shortening service IDs in task names #28088
  • Make docker node ps default to the current node #25214
  • Add --dns, --dns-opt, and --dns-search to service create. #27567
  • Add --force to docker service update #27596
  • Add --health-* and --no-healthcheck flags to docker service create and docker service update #27369
  • Add -q to docker service ps #27654
  • Display number of global services in docker service ls #27710
  • Remove --name flag from docker service update. This flag is only functional on docker service create, so was removed from the update command #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 --hostname to docker service create #27857
  • Add --host to docker service create, and --host-add, --host-rm to docker service update #28031
  • Add --tty flag to docker 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-monitor and --rollback flags to docker service update #26421
  • Fix an issue with address autodiscovery on docker swarm init running inside a container #26457
  • (experimental) Add docker service logs command to view logs for a service #28089
  • Pin images by digest for docker service create and update #28173
  • Add short (-f) flag for docker node rm --force and docker 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 support for labels on volumes #21270
  • Add support for filtering volumes by label #25628
  • Add a --force flag in docker volume rm to forcefully purge the data of the volume that has already been deleted #23436
  • Enhance docker volume inspect to 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 daemon command 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:shortid syntax on docker pull #27207
  • Deprecate backing filesystem without d_type for overlay and overlay2 storage drivers #27433
  • Deprecate MAINTAINER in Dockerfile #25466
  • Deprecate filter param 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)

Important

Docker 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 the ExecStart directive

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.socket directive from the /usr/lib/systemd/system/docker.service file if present
  • Remove -H fd:// from the ExecStart directive (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.

Note

Docker 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 --ipv6 option.

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 network

To 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 network

To 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)

Important

Docker 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 the ExecStart directive

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.socket directive from the /usr/lib/systemd/system/docker.service file if present
  • Remove -H fd:// from the ExecStart directive (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.

Note

Docker 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 --ipv6 option.

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 network

To 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 network

To 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 --ipv6 and no ipv6 --subnet in older docker versions #29416

Contrib

  • Fix compilation on Darwin #29370

1.12.4 (2016-12-12)

Important

Docker 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 the ExecStart directive

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.socket directive from the /usr/lib/systemd/system/docker.service file if present
  • Remove -H fd:// from the ExecStart directive (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

  • Refuse swarm spec not named "default" #29152

Networking

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)

Important

Docker 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 the ExecStart directive

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.socket directive from the /usr/lib/systemd/system/docker.service file if present
  • Remove -H fd:// from the ExecStart directive (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
  • Fix docker exec #27610
  • Fix backward compatibility with containerd’s events log #27693

Swarm Mode

  • Fix conversion of restart-policy #27062

Networking

Logging

  • Update fluent-logger-golang to v1.2.1 #27474

Contrib

  • Update buildtags for armhf ubuntu-trusty #27327
  • Add AppArmor to runc buildtags for armhf #27421

1.12.2 (2016-10-11)

Important

Docker 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 the ExecStart directive

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.socket directive from the /usr/lib/systemd/system/docker.service file if present
  • Remove -H fd:// from the ExecStart directive (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_removal is 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

Swarm Mode

  • Produce an error if the same port is published twice on service create or service update docker/swarmkit#1495

Contrib

  • Update the debian sysv-init script to use dockerd instead of docker 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)

Important

Docker 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 the ExecStart directive

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.socket directive from the /usr/lib/systemd/system/docker.service file if present
  • Remove -H fd:// from the ExecStart directive (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 at information in node inspect --pretty #25512
  • Fix a crash on service inspect #25454
  • Fix issue preventing service update --env-add to work as intended #25427
  • Fix issue preventing service update --publish-add to work as intended #25428
  • Remove service update --network-add and service update --network-rm flags because this feature is not yet implemented in 1.12, but was inadvertently added to the client in 1.12.0 #25646

Contrib

  • Official ARM installation for Debian Jessie, Ubuntu Trusty, and Raspbian Jessie #24815 #25591
  • 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 found error 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 --filter causing the results to no longer be sorted by creation time #25387
  • Fix various crashes #25053

Security

  • Add /proc/timer_list to the masked paths list to prevent information leak from the host #25630
  • Allow systemd to run with only --cap-add SYS_ADMIN rather than having to also add --cap-add DAC_READ_SEARCH or 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)

Important

Docker 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 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 the ExecStart directive

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.socket directive from the /usr/lib/systemd/system/docker.service file if present
Important

Docker 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 service si:

  • 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 directiva ExecStart

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.socket del archivo /usr/lib/systemd/system/docker.service si está presente
  • Elimina -H fd:// de la directiva ExecStart (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.

Important

Con Docker 1.12, una instalación de docker en Linux ahora tiene dos binarios adicionales; dockerd y docker-proxy. Si tienes scripts para instalar docker, asegúrate de actualizarlos en consecuencia.

Constructor (Builder)

  • Nueva instrucción HEALTHCHECK en Dockerfile para admitir verificaciones de salud definidas por el usuario #23218
  • Nueva instrucción SHELL en 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 Dockerfile y .dockerignore si existen #23234
  • Windows: soporte para ARG para 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-downloads y --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 --details a docker logs para 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 rfc5424micro para 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 driver a network ls #22319
  • Añadir el filtro network a docker ps --filter #23300
  • Añadir la bandera --link-local-ip a create, run y network connect para 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 --dns y --net=host ya no son mutuamente excluyentes #22408
  • Corregir problema de DNS al renombrar contenedores con nombres generados #22716
  • Permitir tanto network inspect -f {{.Id}} como network inspect -f {{.ID}} para solucionar la inconsistencia en la salida de inspect #23226

Plugins (experimental)

  • Nuevo comando plugin para gestionar plugins con los subcomandos install, enable, disable, rm, inspect, set #23446

API remota (v1.24) y Cliente

  • Dividir el binario en dos: docker (cliente) y dockerd (demonio) #20639
  • Añadir filtros before y since a docker images --filter #22908
  • Añadir la opción --limit a docker search #23107
  • Añadir la opción --filter a docker 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 --restart se 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 stats de 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-restore para 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 --runtime en create y run #22983
  • Nuevo controlador gráfico overlay2 para 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 reload cuando el demonio recarga su configuración #22590
  • Añadir capacidad de trace en 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-opt a create y run permitiendo establecer size en devicemapper #19367
  • Añadir la bandera del demonio --oom-score-adjust con un valor predeterminado de -500 haciendo que el demonio tenga menos probabilidades de ser finalizado antes que los contenedores #24516
  • No desaprobar el alias corto -c de --cpu-shares en run, 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-keys donde 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/hostname ya no reciben etiquetas SELinux #22993
  • Corregir inconsistencia en el comportamiento de --tmpfs con 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-failure cuando el demonio se reinicia #20853
  • Corregir un problema con stats cuando un contenedor está usando la red de otro contenedor #21904

Swarm Mode

  • Nuevo comando swarm para gestionar swarms con los subcomandos init, join, join-token, leave, update #23361 #24823
  • Nuevo comando service para gestionar servicios en todo el swarm con los subcomandos create, inspect, update, rm, ps #23361 #25140
  • Nuevo comando node para gestionar nodos con los subcomandos accept, promote, demote, inspect, update, ps, ls y rm #23361 #25140
  • (experimental) Nuevos comandos stack y deploy para 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_PASSPHRASE y DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE han sido renombradas a DOCKER_CONTENT_TRUST_ROOT_PASSPHRASE y DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE respectivamente #22574
  • Eliminar las opciones de registro depreciadas syslog-tag, gelf-tag, fluentd-tag en favor de la más genérica tag #22620
  • Eliminar la característica depreciada de pasar HostConfig al iniciar un contenedor de la API #22570
  • Eliminar la bandera depreciada -f/--force en docker tag #23090
  • Eliminar el punto de conexión depreciado /containers/<id|name>/copy #22149
  • Eliminar las banderas depreciadas de docker ps --since y --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/port podí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 ps se colgara en CentOS al usar devicemapper (#22168, #23067)
  • Corregir un error que impedía hacer docker exec en 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 build como argumentos como un comando LABEL implícito al final del Dockerfile procesado (#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/run impedía que otros contenedores fueran eliminados (#22256)
  • Corregir un problema donde era imposible actualizar el valor de memory-swap y memory juntos (#22255)
  • Corregir una regresión de 1.11.0 donde el punto de conexión /auth no inicializaba serveraddress si 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 docker no se limpiaba correctamente después de docker exec (#22121)
  • Corregir un pánico que podía ocurrir al servir comandos docker stats concurrentes (#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)

Important

Con Docker 1.11, una instalación de Docker en Linux ahora consta de 4 binarios (docker, docker-containerd, docker-containerd-shim y docker-runc). Si tienes scripts que dependen de que docker sea 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, login y search (#21306, #21373)
  • Permitir configurar el Domainname y Hostname por separado a través de la API (#20200)
  • docker info ahora 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-stream podía ser todo ceros (#20803)
  • Corregir un error donde algunos contenedores recién iniciados no aparecían en un comando docker stats en ejecución (#20792)
  • El postprocesamiento ya no está habilitado para terminales linux-cgo (#20587)
  • Los valores para --hostname ahora se rechazan si no cumplen con RFC1123 (#20566)
  • Docker aprendió cómo usar un proxy SOCKS (#20366, #18373)
  • Docker ahora admite almacenes de credenciales externos (#20107)
  • docker ps ahora admite mostrar la lista de volúmenes montados dentro de un contenedor (#20017)
  • docker info ahora 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 ps ya no muestra el puerto expuesto para contenedores detenidos (#19483)
  • Docker ahora se limpia a sí mismo si un comando save/export falla (#17849)
  • docker load aprendió a mostrar una barra de progreso (#17329, #120078)

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 login ahora maneja el token utilizando la implementación que se encuentra en docker/distribution (#20832)
  • docker login ya 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-type y gelf-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-retries y fluentd-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 save una carga subsiguiente con docker load restaurará 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)
  • dockremap ahora 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 info ahora reporta el valor de cgroup KernelMemory o emite una advertencia si no es compatible (#20863)
  • docker info ahora también reporta el controlador cgroup en uso (#20388)
  • Completado automático de Docker ahora está disponible en PowerShell (#19894)
  • dockerinit ya 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 inspect ahora 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 ls ahora 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 inspect devuelve 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 campo EnableIPv6 en docker 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 userns está 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 sync no 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 --device ahora resolverá correctamente los enlaces simbólicos (#20684)
  • 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 --hostname cuando --net=host (#20177)
  • Docker ahora permite ejecutar un contenedor privilegiado mientras se ejecuta con --userns-remap si se especifican tanto --privileged como 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 update aprendió cómo cambiar una política de reinicio de contenedor (#19116)
  • docker inspect ahora también devuelve un nuevo campo State que contiene el estado del contenedor de una manera legible para los humanos (es decir, uno de created, restarting, running, paused, exited o dead)(#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 que CGROUP_PIDS=y esté en la configuración del kernel. (#18697)
  • docker load ahora tiene una opción --quiet para 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_t se les concedió acceso de gestión a /var/lib/docker(/.*)? (#21370)
  • restart_syscall, copy_file_range, mlock2 se unieron a la lista de llamadas permitidas en el perfil seccomp predeterminado (#21117, #21262)
  • send, recv y x32 se 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 ls ahora está ordenada por nombre de volumen (#20389)
  • Los volúmenes locales ahora pueden aceptar opciones similares a la herramienta mount de 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 -v ahora acepta una nueva bandera nocopy. 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 AttachStdin y Detach al 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 personality estaba 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 ipc estaba 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 subuid o subgid contienen 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-only al montar /dev/mqueue #20333
  • Corregir los permisos chown utilizados durante docker cp cuando 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)

Important

Docker 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 update command that allows updating resource constraints on running containers #15078
  • Add --tmpfs flag to docker run to create a tmpfs mount in a container #13587
  • Add --format flag to docker images command #17692
  • Allow to set daemon configuration in a file and hot-reload it with the SIGHUP signal #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-device flag to docker run #13959
  • Add --device-read-bps and --device-write-bps flags to docker run #14466
  • Add --device-read-iops and --device-write-iops flags to docker run #15879
  • Add --oom-score-adj flag to docker run #16277
  • Add --detach-keys flag to attach, run, start and exec commands to override the default key sequence that detaches from a container #15666
  • Add --shm-size flag to run, create and build to set the size of /dev/shm #16168
  • Show the number of running, stopped, and paused containers in docker info #19249
  • Show the OSType and Architecture in docker info #17478
  • Add --cgroup-parent flag on daemon to set cgroup parent for all containers #19062
  • Add -L flag to docker cp to follow symlinks #16613
  • New status=dead filter for docker ps #17908
  • Change docker run exit codes to distinguish between runtime and application errors #14012
  • Enhance docker events --since and --until to support nanoseconds and timezones #17495
  • Add --all/-a flag to stats to 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 OPTIONS contra cualquier url, solucionando así el problema con CORS #19569
  • Corregir la bandera --quiet en docker build para que realmente sea silenciosa #17428
  • Corregir docker images --filter dangling=false para 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 exec durante el reinicio de un contenedor #19722
  • devicemapper: Aumentar --storage-opt dm.basesize ahora incrementará el tamaño del dispositivo base al reiniciar el demonio #19123

Seguridad

  • Añadir la bandera --userns-remap al daemon para 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-plugin al daemon para 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 save ahora 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-alias en run y --alias en network connect #19242
  • Añadir --ip e --ip6 en run y network connect para admitir direcciones IP personalizadas para un contenedor en una red #19001
  • Añadir --ipam-opt a network create para pasar opciones de IPAM personalizadas #17316
  • Añadir la bandera --internal a network create para restringir el acceso externo hacia y desde la red #19276
  • Añadir la opción kv.path a --cluster-store-opt #19167
  • Añadir las opciones discovery.heartbeat y discovery.ttl a --cluster-store-opt para configurar el TTL de descubrimiento y el temporizador de latidos (heartbeat) #18204
  • Añadir la bandera --format a network inspect #17481
  • Añadir --link a network connect para proporcionar un alias local al contenedor #19229
  • Soporte para el intercambio de capacidades (Capability exchange) con plugins de IPAM remotos #18775
  • Añadir --force a network disconnect para 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
  • --link ahora es compatible en docker run para contenedores en una red definida por el usuario #19229
  • Mejorar docker network rm para 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 --filter a network ls para 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)

  • Nuevo controlador de registro para Splunk #16488
  • Añadir soporte para syslog sobre TCP+TLS #18998
  • Mejorar docker logs --since y --until para 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 ls e inspect a 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 MIME application/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=false para 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 .dockerignore para 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 --rm en 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 -f para 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 logs si --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 login en Windows (#17738)
  • Corregir un error en la salida de docker inspect cuando 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-cidr cuando 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 IPv6 a partir de la dirección MAC en la red bridge predeterminada (#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 stats ahora devuelve métricas de E/S de bloques (#15005)
  • docker stats ahora detalla las estadísticas de red por interfaz (#15786)
  • Añadir el filtro ancestor=<imagen> a la bandera docker ps --filter para filtrar contenedores basados en sus imágenes ancestras (#14570)
  • Añadir el filtro label=<algunavoluble> a docker ps --filter para filtrar contenedores basados en la etiqueta (#16530)
  • Añadir la bandera --kernel-memory a docker run (#14006)
  • Añadir la bandera --message a docker import que permite especificar un mensaje opcional (#15711)
  • Añadir la bandera --privileged a docker exec (#14113)
  • Añadir la bandera --stop-signal a docker run que 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 RepoTags y RepoDigests a /images/{name:.*}/json (#17275)
  • Eliminar el endpoint depreciado /container/ps de 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-disable está 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 -c para --cpu-shares en docker run (#16271)

Cliente

  • Permitir a docker import importar desde archivos locales (#11907)

Constructor (Builder)

  • Añadir una instrucción STOPSIGNAL en el Dockerfile que permite establecer una señal de parada diferente para el proceso del contenedor (#15307)
  • Añadir una instrucción ARG en el Dockerfile y una bandera --build-arg a docker build que 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 network sale 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-store y --cluster-advertise para el descubrimiento integrado de nodos (#16229)
  • Añadir --cluster-store-opt para establecer la configuración TLS (#16644)
  • Añadir --dns-opt al demonio (#16031)
  • DEPRECIAR los siguientes campos de NetworkSettings del contenedor en la API v1.21: EndpointID, Gateway, GlobalIPv6Address, GlobalIPv6PrefixLen, IPAddress, IPPrefixLen, IPv6Gateway y MacAddress. Estos son ahora específicos de la red bridge. Utiliza NetworkSettings.Networks para 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 awslogs para Amazon CloudWatch (#15495)
  • Añadir la opción de registro genérica tag para permitir la personalización de la información del contenedor/imagen pasada al controlador (#15384)
  • Implementar el endpoint docker logs para el controlador journald (#13707)
  • DEPRECIAR las etiquetas de registro específicas del controlador (#15384)

Distribución

  • docker search ahora 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 offline a root y de tagging a repository (#16894)
  • DEPRECIAR las variables de entorno de claves de confianza DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE y DOCKER_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-registry para 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 -q en docker ps correctamente 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 ps con --format
  • Reemplazar docker -d con el nuevo subcomando docker 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 events como --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 import cargar 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 rmi de 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 kill devuelve 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=none no 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 exec admite la bandera -u|--user para 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-gateway y --default-gateway-v6
  • La cuota de CPU CFS (Completely Fair Scheduler) se puede establecer en docker run usando --cpu-quota
  • Las E/S de bloques del contenedor se pueden controlar en docker run usando --blkio-weight
  • Soporte para ZFS
  • El comando docker logs admite 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 --change para aplicar las instrucciones de Dockerfile especificadas al confirmar (commit) la imagen
  • import --change para 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-parent para especificar un cgroup padre en el cual colocar el cgroup del contenedor
  • Controlador de registro (Logging drivers): json-file, syslog o none
  • Descarga de imágenes por ID
  • --ulimit para establecer el ulimit en un contenedor
  • Opción --default-ulimit en el demonio que se aplica a todos los contenedores creados (y se anula por --ulimit al ejecutar)

1.5.0 (2015-02-10)

Constructor (Builder)

  • El Dockerfile a usar para un docker build determinado 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 scratch ahora 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 push para 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 rename y el comando asociado docker rename
  • El endpoint inspect del contenedor muestra el ID de los comandos exec que se ejecutan en este contenedor
  • El endpoint inspect del 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 run puede tomar la bandera --pid=host para 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 run puede tomar la bandera --read-only para 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 run usando 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.conf del 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 ENV en Dockerfile de la forma: ENV name=value name2=value2...
  • Nuevo controlador de almacenamiento Overlayfs
  • docker info ahora devuelve los campos ID y Name
  • Filtrar eventos por nombre de evento, contenedor o imagen
  • docker cp ahora admite copiar desde volúmenes de contenedor
  • Se corrigió docker tag para que respete --force al 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 cp cuando 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-from hace referencia a un contenedor que no pudo iniciarse

Registro (Registry)

  • --insecure-registry ahora 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=false no 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 onbuild en minúsculas
  • Restringir la expansión de variables de entorno a ENV, ADD, COPY, WORKDIR, EXPOSE, VOLUME y USER

1.3.0 (2014-10-14)

Características notables desde 1.2.0

  • Docker exec te permite ejecutar procesos adicionales dentro de contenedores existentes
  • Docker create te brinda la capacidad de crear un contenedor a través de la CLI sin ejecutar un proceso
  • Opciones --security-opts para 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-add y --cap-drop para ajustar qué capacidades de linux deseas
  • --device para utilizar dispositivos en los contenedores

Cliente

  • docker search en registros privados
  • Añadir el filtro exited a docker ps --filter
  • docker rm -f ahora 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 --tail a docker 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 de docker 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 start y stop

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 ONBUILD pasada a los descendientes

Tiempo de ejecución (Runtime)

  • Corregir la suscripción a eventos
  • Corregir el archivo /etc/hostname con redes de host
  • Permitir -h y --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 cp en 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 COPY en 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 pause y unpause para permitir pausar y reanudar contenedores usando el congelador (freezer) cgroup
  • El comando images tiene una opción -f/--filter para filtrar la lista de imágenes
  • Añadir --force-rm para 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 latest si 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 --net para 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 ps a la documentación.
  • Añadir las opciones de docker restart a 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 images a 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-conf es 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 -a en 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 info incluso 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-prune a docker 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 --tree y docker 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 info incluso 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 from y onbuild maintainer.
  • Hacer de --rm la opción predeterminada para docker 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 cp esté cerrado correctamente. Corrige problemas con archivos que no se copiaban mediante docker cp.
  • Dejar de hacer que tcp:// predetermine a 127.0.0.1:4243 y eliminar el puerto predeterminado para tcp.
  • Corregir --run en docker commit. Esto hace que docker commit --run vuelva 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 -f a docker rm para 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_RAMDISK para 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 --run en docker commit. Esto hace que docker commit almacene --run en 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 cp esté 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

  • 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 -mtu flag 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-checkconfig as 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 -a to 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 pull progress 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 top in pure Go to work more consistently, and even inside Docker-in-Docker (thus removing the shell injection vulnerability present in some versions of lxc-ps)
  • 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 -g to 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 -S option to external tar invocation for more efficient spare file handling
  • Add arch/os info to User-Agent string, especially for registry requests
  • Add -mtu option to Docker daemon for configuring MTU
  • Fix docker build to exit with a non-zero exit code on error
  • Add DOCKER_HOST environment variable to configure the client -H flag 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 -f to 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 build now returns the correct exit code
  • Fix docker port to display correct port
  • docker build now check that the dockerfile exists client side
  • docker attach now 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 rm with 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 curl to 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 up is 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 login command
  • UID and GID are now also applied to volumes
  • docker start set error code upon error
  • docker run set 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 sh process"
  • 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 ps args to docker top
  • Add support for container ID files (pidfile like)
  • Add container=lxc in default env
  • Support networkless containers with docker run -n and docker -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

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