Merge pull request #12799 from aidanhs/aphs-fix-net-container-deadlock
Prevent deadlock on --net=container:<self>
This commit is contained in:
commit
02d73d910f
2 changed files with 11 additions and 0 deletions
|
@ -1515,6 +1515,9 @@ func (container *Container) getNetworkedContainer() (*Container, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if container == nc {
|
||||
return nil, fmt.Errorf("cannot join own network")
|
||||
}
|
||||
if !nc.IsRunning() {
|
||||
return nil, fmt.Errorf("cannot join network of a non running container: %s", parts[1])
|
||||
}
|
||||
|
|
|
@ -2657,6 +2657,14 @@ func (s *DockerSuite) TestContainerNetworkMode(c *check.C) {
|
|||
}
|
||||
}
|
||||
|
||||
func (s *DockerSuite) TestContainerNetworkModeToSelf(c *check.C) {
|
||||
cmd := exec.Command(dockerBinary, "run", "--name=me", "--net=container:me", "busybox", "true")
|
||||
out, _, err := runCommandWithOutput(cmd)
|
||||
if err == nil || !strings.Contains(out, "cannot join own network") {
|
||||
c.Fatalf("using container net mode to self should result in an error")
|
||||
}
|
||||
}
|
||||
|
||||
func (s *DockerSuite) TestRunModePidHost(c *check.C) {
|
||||
testRequires(c, NativeExecDriver, SameHostDaemon)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue