mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #9204 from jfrazelle/9056-rmi
Fix for rmi throws error "no such id".
This commit is contained in:
commit
17dfa126ba
2 changed files with 23 additions and 0 deletions
|
@ -133,6 +133,9 @@ func (daemon *Daemon) canDeleteImage(imgID string, force bool) error {
|
|||
for _, container := range daemon.List() {
|
||||
parent, err := daemon.Repositories().LookupImage(container.Image)
|
||||
if err != nil {
|
||||
if daemon.Graph().IsNotExist(err) {
|
||||
return nil
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
|
@ -99,3 +99,23 @@ func TestRmiTagWithExistingContainers(t *testing.T) {
|
|||
|
||||
logDone("rmi - delete tag with existing containers")
|
||||
}
|
||||
|
||||
func TestRmiForceWithExistingContainers(t *testing.T) {
|
||||
image := "busybox-clone"
|
||||
if out, _, err := runCommandWithOutput(exec.Command(dockerBinary, "build", "--no-cache", "-t", image, "/docker-busybox")); err != nil {
|
||||
t.Fatalf("Could not build %s: %s, %v", image, out, err)
|
||||
}
|
||||
|
||||
if out, _, err := runCommandWithOutput(exec.Command(dockerBinary, "run", "--name", "test-force-rmi", image, "/bin/true")); err != nil {
|
||||
t.Fatalf("Could not run container: %s, %v", out, err)
|
||||
}
|
||||
|
||||
out, _, err := runCommandWithOutput(exec.Command(dockerBinary, "rmi", "-f", image))
|
||||
if err != nil {
|
||||
t.Fatalf("Could not remove image %s: %s, %v", image, out, err)
|
||||
}
|
||||
|
||||
deleteAllContainers()
|
||||
|
||||
logDone("rmi - force delete with existing containers")
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue