Skip to content

Commit 9cc4ef5

Browse files
committed
Fixing cleanup feature
1 parent 00d8d6c commit 9cc4ef5

1 file changed

Lines changed: 19 additions & 9 deletions

File tree

go/rfswift/dock/rfdock.go

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2508,7 +2508,7 @@ func DockerRename(currentIdentifier string, newName string) {
25082508

25092509
var containerID string
25102510
for _, container := range containers {
2511-
if container.ID == currentIdentifier || container.Names[0] == "/"+currentIdentifier {
2511+
if container.ID == currentIdentifier || (len(container.Names) > 0 && container.Names[0] == "/"+currentIdentifier) {
25122512
containerID = container.ID
25132513
break
25142514
}
@@ -2548,7 +2548,7 @@ func DockerRemove(containerIdentifier string) {
25482548

25492549
var containerID string
25502550
for _, container := range containers {
2551-
if container.ID == containerIdentifier || container.Names[0] == "/"+containerIdentifier {
2551+
if container.ID == containerIdentifier || (len(container.Names) > 0 && container.Names[0] == "/"+containerIdentifier) {
25522552
containerID = container.ID
25532553
break
25542554
}
@@ -5357,9 +5357,14 @@ func CleanupContainers(olderThan string, force bool, dryRun bool, onlyStopped bo
53575357

53585358
for _, cont := range toDelete {
53595359
age := time.Since(time.Unix(cont.Created, 0))
5360-
containerName := cont.Names[0]
5361-
if containerName[0] == '/' {
5362-
containerName = containerName[1:]
5360+
containerName := ""
5361+
if len(cont.Names) > 0 {
5362+
containerName = cont.Names[0]
5363+
if len(containerName) > 0 && containerName[0] == '/' {
5364+
containerName = containerName[1:]
5365+
}
5366+
} else {
5367+
containerName = cont.ID[:12]
53635368
}
53645369

53655370
status := cont.State
@@ -5394,10 +5399,15 @@ func CleanupContainers(olderThan string, force bool, dryRun bool, onlyStopped bo
53945399
// Remove containers
53955400
removed := 0
53965401
for _, cont := range toDelete {
5397-
containerName := cont.Names[0]
5398-
if containerName[0] == '/' {
5399-
containerName = containerName[1:]
5400-
}
5402+
containerName := ""
5403+
if len(cont.Names) > 0 {
5404+
containerName = cont.Names[0]
5405+
if len(containerName) > 0 && containerName[0] == '/' {
5406+
containerName = containerName[1:]
5407+
}
5408+
} else {
5409+
containerName = cont.ID[:12]
5410+
}
54015411

54025412
err := cli.ContainerRemove(ctx, cont.ID, container.RemoveOptions{Force: true})
54035413
if err != nil {

0 commit comments

Comments
 (0)