Moby v1.12.6 Release Notes
Release Date: 2017-01-10 // over 7 years ago-
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 theExecStart
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 theExecStart
directive (both in the main unit file, and in any drop-in files present).
After making those changes, run
sudo systemctl daemon-reload
, andsudo ๐ณ 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 0๏ธโฃ 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 runC privilege escalation (CVE-2016-9962)
- ๐ณ the systemd unit file (