mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2024-12-21 22:47:49 +00:00
Correctly compare container image name on cleanup
Docker 1.10 sends containerInfo.Image without the ":latest", so the image name doesn't match the app's imageId. This fix first splits the image name into repo and tag and then rebuilds it to include ":latest" when appropriate. Should avoid removing containers when using resin-sync.
This commit is contained in:
parent
131f7f5b22
commit
7104806ad1
@ -1,3 +1,4 @@
|
||||
* Correctly compare container image name on cleanup [Pablo]
|
||||
* Log useful supervisor info to stdout/stderr [Kostas]
|
||||
|
||||
# v1.10.0
|
||||
|
@ -200,13 +200,16 @@ do ->
|
||||
docker.listContainersAsync(all: true)
|
||||
.filter (containerInfo) ->
|
||||
# Do not remove user apps.
|
||||
if _.contains(appTags, containerInfo.Image)
|
||||
return false
|
||||
if _.contains(locallyCreatedTags, containerInfo.Image)
|
||||
return false
|
||||
if !_.contains(supervisorTags, containerInfo.Image)
|
||||
return true
|
||||
return containerHasExited(containerInfo.Id)
|
||||
getRepoAndTag(containerInfo.Image)
|
||||
.then ({ repo, tag }) ->
|
||||
repoTag = buildRepoTag(repo, tag)
|
||||
if _.contains(appTags, repoTag)
|
||||
return false
|
||||
if _.contains(locallyCreatedTags, repoTag)
|
||||
return false
|
||||
if !_.contains(supervisorTags, repoTag)
|
||||
return true
|
||||
return containerHasExited(containerInfo.Id)
|
||||
.map (containerInfo) ->
|
||||
docker.getContainer(containerInfo.Id).removeAsync()
|
||||
.then ->
|
||||
|
Loading…
Reference in New Issue
Block a user