mirror of
https://github.com/moby/moby.git
synced 2025-12-09 10:01:25 +03:00
Fix the issue when docker exec a paused container, it will always hang.
Add the test case of this issue. Docker-DCO-1.1-Signed-off-by: Chen Chao <cc272309126@gmail.com> (github: cc272309126)
This commit is contained in:
@@ -328,6 +328,46 @@ func deleteAllContainers() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func getPausedContainers() (string, error) {
|
||||
getPausedContainersCmd := exec.Command(dockerBinary, "ps", "-f", "status=paused", "-q", "-a")
|
||||
out, exitCode, err := runCommandWithOutput(getPausedContainersCmd)
|
||||
if exitCode != 0 && err == nil {
|
||||
err = fmt.Errorf("failed to get a list of paused containers: %v\n", out)
|
||||
}
|
||||
|
||||
return out, err
|
||||
}
|
||||
|
||||
func unpauseContainer(container string) error {
|
||||
unpauseCmd := exec.Command(dockerBinary, "unpause", container)
|
||||
exitCode, err := runCommand(unpauseCmd)
|
||||
if exitCode != 0 && err == nil {
|
||||
err = fmt.Errorf("failed to unpause container")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func unpauseAllContainers() error {
|
||||
containers, err := getPausedContainers()
|
||||
if err != nil {
|
||||
fmt.Println(containers)
|
||||
return err
|
||||
}
|
||||
|
||||
containers = strings.Replace(containers, "\n", " ", -1)
|
||||
containers = strings.Trim(containers, " ")
|
||||
containerList := strings.Split(containers, " ")
|
||||
|
||||
for _, value := range containerList {
|
||||
if err = unpauseContainer(value); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func deleteImages(images ...string) error {
|
||||
args := make([]string, 1, 2)
|
||||
args[0] = "rmi"
|
||||
|
||||
Reference in New Issue
Block a user