Created
January 20, 2017 11:20
-
-
Save rpetrano/84531c0783cc87093ac21dcbb9ef508e to your computer and use it in GitHub Desktop.
Docker patches to support v1.10.3 on older kernels (2.6.32, Centos 6)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/vendor/src/github.com/docker/libnetwork/drivers/bridge/bridge.go b/vendor/src/github.com/docker/libnetwork/drivers/bridge/bridge.go | |
index 2bb4350e9..26bc52ca4 100644 | |
--- a/vendor/src/github.com/docker/libnetwork/drivers/bridge/bridge.go | |
+++ b/vendor/src/github.com/docker/libnetwork/drivers/bridge/bridge.go | |
@@ -759,26 +759,17 @@ func (d *driver) DeleteNetwork(nid string) error { | |
} | |
func addToBridge(ifaceName, bridgeName string) error { | |
- link, err := netlink.LinkByName(ifaceName) | |
+ iface, err := net.InterfaceByName(ifaceName) | |
if err != nil { | |
- return fmt.Errorf("could not find interface %s: %v", ifaceName, err) | |
+ return fmt.Errorf("could not find network interface %s: %v", ifaceName, err) | |
} | |
- if err = netlink.LinkSetMaster(link, | |
- &netlink.Bridge{LinkAttrs: netlink.LinkAttrs{Name: bridgeName}}); err != nil { | |
- logrus.Debugf("Failed to add %s to bridge via netlink.Trying ioctl: %v", ifaceName, err) | |
- iface, err := net.InterfaceByName(ifaceName) | |
- if err != nil { | |
- return fmt.Errorf("could not find network interface %s: %v", ifaceName, err) | |
- } | |
- | |
- master, err := net.InterfaceByName(bridgeName) | |
- if err != nil { | |
- return fmt.Errorf("could not find bridge %s: %v", bridgeName, err) | |
- } | |
- return ioctlAddToBridge(iface, master) | |
+ master, err := net.InterfaceByName(bridgeName) | |
+ if err != nil { | |
+ return fmt.Errorf("could not find bridge %s: %v", bridgeName, err) | |
} | |
- return nil | |
+ | |
+ return ioctlAddToBridge(iface, master) | |
} | |
func setHairpinMode(link netlink.Link, enable bool) error { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/contrib/init/sysvinit-redhat/docker b/contrib/init/sysvinit-redhat/docker | |
index 3f88bb52d..81515ca35 100755 | |
--- a/contrib/init/sysvinit-redhat/docker | |
+++ b/contrib/init/sysvinit-redhat/docker | |
@@ -29,6 +29,25 @@ pidfile="/var/run/$prog.pid" | |
lockfile="/var/lock/subsys/$prog" | |
logfile="/var/log/$prog" | |
+cgroup=/var/lib/docker/cgroup | |
+cgroupfs_mount() { | |
+ mkdir -p "$cgroup" | |
+ if ! mountpoint -q "$cgroup"; then | |
+ mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup "$cgroup" | |
+ fi | |
+ ( | |
+ cd "$cgroup" | |
+ for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do | |
+ mkdir -p $sys | |
+ if ! mountpoint -q $sys; then | |
+ if ! mount -n -t cgroup -o $sys cgroup $sys; then | |
+ rmdir $sys || true | |
+ fi | |
+ fi | |
+ done | |
+ ) | |
+} | |
+ | |
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog | |
prestart() { | |
@@ -38,6 +57,7 @@ prestart() { | |
service cgconfig start | |
fi | |
+ cgroupfs_mount | |
} | |
start() { | |
diff --git a/daemon/execdriver/native/template/default_template_linux.go b/daemon/execdriver/native/template/default_template_linux.go | |
index 073bcac9a..cee310af3 100644 | |
--- a/daemon/execdriver/native/template/default_template_linux.go | |
+++ b/daemon/execdriver/native/template/default_template_linux.go | |
@@ -78,7 +78,7 @@ func New() *configs.Config { | |
}, | |
{ | |
Source: "cgroup", | |
- Destination: "/sys/fs/cgroup", | |
+ Destination: "/var/lib/docker/cgroup", | |
Device: "cgroup", | |
Flags: defaultMountFlags | syscall.MS_RDONLY, | |
}, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment