|
|
@ -389,13 +389,7 @@ func (u *ContainerService) ContainerInfo(req dto.OperationWithName) (*dto.Contai |
|
|
|
if oldContainer.HostConfig.Memory != 0 { |
|
|
|
if oldContainer.HostConfig.Memory != 0 { |
|
|
|
data.Memory = float64(oldContainer.HostConfig.Memory) / 1024 / 1024 |
|
|
|
data.Memory = float64(oldContainer.HostConfig.Memory) / 1024 / 1024 |
|
|
|
} |
|
|
|
} |
|
|
|
for _, bind := range oldContainer.HostConfig.Binds { |
|
|
|
data.Volumes = loadVolumeBinds(oldContainer.HostConfig.Binds) |
|
|
|
parts := strings.Split(bind, ":") |
|
|
|
|
|
|
|
if len(parts) != 3 { |
|
|
|
|
|
|
|
continue |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
data.Volumes = append(data.Volumes, dto.VolumeHelper{SourceDir: parts[0], ContainerDir: parts[1], Mode: parts[2]}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return &data, nil |
|
|
|
return &data, nil |
|
|
|
} |
|
|
|
} |
|
|
@ -843,3 +837,42 @@ func reCreateAfterUpdate(name string, client *client.Client, config *container.C |
|
|
|
global.LOG.Errorf("restart after container update failed, err: %v", err) |
|
|
|
global.LOG.Errorf("restart after container update failed, err: %v", err) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func loadVolumeBinds(binds []string) []dto.VolumeHelper { |
|
|
|
|
|
|
|
var datas []dto.VolumeHelper |
|
|
|
|
|
|
|
for _, bind := range binds { |
|
|
|
|
|
|
|
parts := strings.Split(bind, ":") |
|
|
|
|
|
|
|
var volumeItem dto.VolumeHelper |
|
|
|
|
|
|
|
if len(parts) > 3 { |
|
|
|
|
|
|
|
continue |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
volumeItem.SourceDir = parts[0] |
|
|
|
|
|
|
|
if len(parts) == 1 { |
|
|
|
|
|
|
|
volumeItem.ContainerDir = parts[0] |
|
|
|
|
|
|
|
volumeItem.Mode = "rw" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if len(parts) == 2 { |
|
|
|
|
|
|
|
switch parts[1] { |
|
|
|
|
|
|
|
case "r", "ro": |
|
|
|
|
|
|
|
volumeItem.ContainerDir = parts[0] |
|
|
|
|
|
|
|
volumeItem.Mode = "ro" |
|
|
|
|
|
|
|
case "rw": |
|
|
|
|
|
|
|
volumeItem.ContainerDir = parts[0] |
|
|
|
|
|
|
|
volumeItem.Mode = "rw" |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
volumeItem.ContainerDir = parts[1] |
|
|
|
|
|
|
|
volumeItem.Mode = "rw" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if len(parts) == 3 { |
|
|
|
|
|
|
|
volumeItem.ContainerDir = parts[1] |
|
|
|
|
|
|
|
if parts[2] == "r" { |
|
|
|
|
|
|
|
volumeItem.Mode = "ro" |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
volumeItem.Mode = parts[2] |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
datas = append(datas, volumeItem) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return datas |
|
|
|
|
|
|
|
} |
|
|
|