Bladeren bron

Set default MemorySwap on Docker side

As discussed in docker/libcontainer#616,
we should move this behavior to Docker side.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Qiang Huang 10 jaren geleden
bovenliggende
commit
7e0dfbf4cd
3 gewijzigde bestanden met toevoegingen van 15 en 0 verwijderingen
  1. 1 0
      daemon/create.go
  2. 10 0
      daemon/daemon_unix.go
  3. 4 0
      daemon/daemon_windows.go

+ 1 - 0
daemon/create.go

@@ -19,6 +19,7 @@ func (daemon *Daemon) ContainerCreate(name string, config *runconfig.Config, hos
 		return "", nil, fmt.Errorf("Config cannot be empty in order to create a container")
 	}
 
+	daemon.adaptContainerSettings(hostConfig)
 	warnings, err := daemon.verifyContainerSettings(hostConfig, config)
 	if err != nil {
 		return "", warnings, err

+ 10 - 0
daemon/daemon_unix.go

@@ -114,6 +114,16 @@ func checkKernel() error {
 	return nil
 }
 
+func (daemon *Daemon) adaptContainerSettings(hostConfig *runconfig.HostConfig) {
+	if hostConfig == nil {
+		return
+	}
+	if hostConfig.Memory > 0 && hostConfig.MemorySwap == 0 {
+		// By default, MemorySwap is set to twice the size of Memory.
+		hostConfig.MemorySwap = hostConfig.Memory * 2
+	}
+}
+
 func (daemon *Daemon) verifyContainerSettings(hostConfig *runconfig.HostConfig, config *runconfig.Config) ([]string, error) {
 	var warnings []string
 

+ 4 - 0
daemon/daemon_windows.go

@@ -72,6 +72,10 @@ func checkKernel() error {
 	return nil
 }
 
+func (daemon *Daemon) adaptContainerSettings(hostConfig *runconfig.HostConfig) {
+	// TODO Windows.
+}
+
 func (daemon *Daemon) verifyContainerSettings(hostConfig *runconfig.HostConfig, config *runconfig.Config) ([]string, error) {
 	// TODO Windows. Verifications TBC
 	return nil, nil