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() {
|
for _, container := range daemon.List() {
|
||||||
parent, err := daemon.Repositories().LookupImage(container.Image)
|
parent, err := daemon.Repositories().LookupImage(container.Image)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
if daemon.Graph().IsNotExist(err) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -99,3 +99,23 @@ func TestRmiTagWithExistingContainers(t *testing.T) {
|
||||||
|
|
||||||
logDone("rmi - delete tag with existing containers")
|
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…
Add table
Add a link
Reference in a new issue