1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Adapt container settings when start

`adaptContainerSettings` is growing up, new it's only called
when create. It'll be a problem that old containers will never
have chance to adapt the latest rule. `HostConfig` of these
containers will be obsoleted.

Add this calling to start to avoid problems like #18550 and
avoid such backward compatability in the future.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
This commit is contained in:
Qiang Huang 2015-12-15 08:42:26 +08:00
parent 8970337f60
commit f408b4f463

View file

@ -30,9 +30,6 @@ func (daemon *Daemon) ContainerStart(name string, hostConfig *runconfig.HostConf
// creating a container, not during start.
if hostConfig != nil {
logrus.Warn("DEPRECATED: Setting host configuration options when the container starts is deprecated and will be removed in Docker 1.12")
if err := daemon.adaptContainerSettings(hostConfig, false); err != nil {
return err
}
if err := daemon.setHostConfig(container, hostConfig); err != nil {
return err
}
@ -49,6 +46,11 @@ func (daemon *Daemon) ContainerStart(name string, hostConfig *runconfig.HostConf
if _, err = daemon.verifyContainerSettings(container.HostConfig, nil); err != nil {
return err
}
// Adapt for old containers in case we have updates in this function and
// old containers never have chance to call the new function in create stage.
if err := daemon.adaptContainerSettings(container.HostConfig, false); err != nil {
return err
}
if err := daemon.containerStart(container); err != nil {
return err