From 699bc47137ab78b7d88ec7623ad10e04f7b67f33 Mon Sep 17 00:00:00 2001 From: Alexandr Morozov <lk4d4math@gmail.com> Date: Thu, 10 Jul 2014 13:19:18 +0400 Subject: [PATCH 1/5] Set state running before dumping to disk Fixes #4766 Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4) Conflicts: daemon/container.go Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: vieux) --- daemon/container.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daemon/container.go b/daemon/container.go index 5b41438680..41a2d390e0 100644 --- a/daemon/container.go +++ b/daemon/container.go @@ -1080,10 +1080,10 @@ func (container *Container) waitForStart() error { c.Close() } } + container.State.SetRunning(command.Pid()) if err := container.ToDisk(); err != nil { utils.Debugf("%s", err) } - container.State.SetRunning(command.Pid()) } // We use a callback here instead of a goroutine and an chan for From 21341e9e134399feef88872f11fb4339401cf6f5 Mon Sep 17 00:00:00 2001 From: Tianon Gravi <admwiggin@gmail.com> Date: Mon, 14 Jul 2014 12:34:04 -0600 Subject: [PATCH 2/5] Add a conditional to contrib/init/sysvinit-debian/docker for Dash vs Bash support Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon) Docker-DCO-1.1-Signed-off-by: Tianon Gravi <admwiggin@gmail.com> (github: vieux) --- contrib/init/sysvinit-debian/docker | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/contrib/init/sysvinit-debian/docker b/contrib/init/sysvinit-debian/docker index 6250cae053..d79d9c6c07 100755 --- a/contrib/init/sysvinit-debian/docker +++ b/contrib/init/sysvinit-debian/docker @@ -89,7 +89,11 @@ case "$1" in chgrp docker "$DOCKER_LOGFILE" ulimit -n 1048576 - ulimit -u 1048576 + if [ "$BASH" ]; then + ulimit -u 1048576 + else + ulimit -p 1048576 + fi log_begin_msg "Starting $DOCKER_DESC: $BASE" start-stop-daemon --start --background \ From 2c185e25c22b82614210908c445a32fa3dbe5ed1 Mon Sep 17 00:00:00 2001 From: Michael Crosby <michael@docker.com> Date: Mon, 21 Jul 2014 19:59:44 -0700 Subject: [PATCH 3/5] Always mark as stopped for non running containers Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael) Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: vieux) --- daemon/daemon.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/daemon/daemon.go b/daemon/daemon.go index 23402d9518..a94a4458ad 100644 --- a/daemon/daemon.go +++ b/daemon/daemon.go @@ -209,6 +209,7 @@ func (daemon *Daemon) register(container *Container, updateSuffixarray bool, con } daemon.execDriver.Terminate(cmd) } + if err := container.Unmount(); err != nil { utils.Debugf("unmount error %s", err) } @@ -219,21 +220,20 @@ func (daemon *Daemon) register(container *Container, updateSuffixarray bool, con info := daemon.execDriver.Info(container.ID) if !info.IsRunning() { utils.Debugf("Container %s was supposed to be running but is not.", container.ID) + + utils.Debugf("Marking as stopped") + + container.State.SetStopped(-127) + if err := container.ToDisk(); err != nil { + return err + } + if daemon.config.AutoRestart { utils.Debugf("Marking as restarting") - if err := container.Unmount(); err != nil { - utils.Debugf("restart unmount error %s", err) - } if containersToStart != nil { *containersToStart = append(*containersToStart, container) } - } else { - utils.Debugf("Marking as stopped") - container.State.SetStopped(-127) - if err := container.ToDisk(); err != nil { - return err - } } } } From 4e12484ea12d23fd70fd3bf636e786f4f741ab64 Mon Sep 17 00:00:00 2001 From: Michael Crosby <michael@docker.com> Date: Tue, 22 Jul 2014 00:16:26 -0700 Subject: [PATCH 4/5] Copy values out of hostConfig Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael) Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: vieux) --- daemon/container.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/daemon/container.go b/daemon/container.go index 41a2d390e0..30337de6b5 100644 --- a/daemon/container.go +++ b/daemon/container.go @@ -422,8 +422,17 @@ func (container *Container) allocateNetwork() error { if container.Config.ExposedPorts != nil { portSpecs = container.Config.ExposedPorts } + if container.hostConfig.PortBindings != nil { - bindings = container.hostConfig.PortBindings + for p, b := range container.hostConfig.PortBindings { + bindings[p] = []nat.PortBinding{} + for _, bb := range b { + bindings[p] = append(bindings[p], nat.PortBinding{ + HostIp: bb.HostIp, + HostPort: bb.HostPort, + }) + } + } } container.NetworkSettings.PortMapping = nil From d84a070e476ce923dd03e28232564a87704613ab Mon Sep 17 00:00:00 2001 From: Victor Vieux <vieux@docker.com> Date: Wed, 23 Jul 2014 00:29:56 +0000 Subject: [PATCH 5/5] Bump version to v1.1.2 Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux) --- CHANGELOG.md | 9 +++++++++ VERSION | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 327a8a7e69..8ec9ce3df0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 1.1.2 (2014-07-23) + +#### Runtime ++ Fix port allocation for existing containers ++ Fix containers restart on daemon restart + +#### Packaging ++ Fix /etc/init.d/docker issue on Debian + ## 1.1.1 (2014-07-09) #### Builder diff --git a/VERSION b/VERSION index 524cb55242..45a1b3f445 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.1.1 +1.1.2