Support for --cleanup flag

The --cleanup flag will cause watchtower to automatically remove the old
image after a container is restart with a new image.
This commit is contained in:
Brian DeHamer 2015-07-31 18:24:27 +00:00
parent b8ba80df2d
commit dd80aa4a0d
10 changed files with 117 additions and 7 deletions

View file

@ -21,6 +21,7 @@ type Client interface {
StartContainer(Container) error
RenameContainer(Container, string) error
IsContainerStale(Container) (bool, error)
RemoveImage(Container) error
}
func NewClient(dockerHost string, tlsConfig *tls.Config, pullImages bool) Client {
@ -147,6 +148,13 @@ func (client DockerClient) IsContainerStale(c Container) (bool, error) {
return false, nil
}
func (client DockerClient) RemoveImage(c Container) error {
imageID := c.ImageID()
log.Infof("Removing image %s", imageID)
_, err := client.api.RemoveImage(imageID)
return err
}
func (client DockerClient) waitForStop(c Container, waitTime time.Duration) error {
timeout := time.After(waitTime)