mirror of
https://github.com/containrrr/watchtower.git
synced 2024-12-15 09:14:13 +02:00
Merge pull request #49 from v2tec/HousekeepingAfterRepoMove
Cleanup after repo move
This commit is contained in:
commit
bb99ea11e6
@ -1,6 +0,0 @@
|
|||||||
FROM centurylink/ca-certs
|
|
||||||
MAINTAINER CenturyLink Labs <innovationslab@ctl.io>
|
|
||||||
LABEL "com.centurylinklabs.watchtower"="true"
|
|
||||||
|
|
||||||
COPY watchtower /
|
|
||||||
ENTRYPOINT ["/watchtower"]
|
|
@ -186,7 +186,7 @@
|
|||||||
same "printed page" as the copyright notice for easier
|
same "printed page" as the copyright notice for easier
|
||||||
identification within third-party archives.
|
identification within third-party archives.
|
||||||
|
|
||||||
Copyright 2015 Watchtowner contributors
|
Copyright 2015 Watchtower contributors
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
26
README.md
26
README.md
@ -1,9 +1,7 @@
|
|||||||
# Watchtower
|
# Watchtower
|
||||||
![Watchtower](http://panamax.ca.tier3.io/zodiac/logo-watchtower_thumb.png)
|
[![Circle CI](https://circleci.com/gh/v2tec/watchtower.svg?style=svg)](https://circleci.com/gh/v2tec/watchtower)
|
||||||
|
[![GoDoc](https://godoc.org/github.com/v2tec/watchtower?status.svg)](https://godoc.org/github.com/v2tec/watchtower)
|
||||||
[![Circle CI](https://circleci.com/gh/CenturyLinkLabs/watchtower.svg?style=svg)](https://circleci.com/gh/CenturyLinkLabs/watchtower)
|
[![](https://images.microbadger.com/badges/image/v2tec/watchtower.svg)](https://microbadger.com/images/v2tec/watchtower "Get your own image badge on microbadger.com")
|
||||||
[![GoDoc](https://godoc.org/github.com/CenturyLinkLabs/watchtower?status.svg)](https://godoc.org/github.com/CenturyLinkLabs/watchtower)
|
|
||||||
[![](https://badge.imagelayers.io/centurylink/watchtower:latest.svg)](https://imagelayers.io/?images=centurylink/watchtower:latest 'Get your own badge on imagelayers.io')
|
|
||||||
|
|
||||||
A process for watching your Docker containers and automatically restarting them whenever their base image is refreshed.
|
A process for watching your Docker containers and automatically restarting them whenever their base image is refreshed.
|
||||||
|
|
||||||
@ -19,14 +17,14 @@ For example, let's say you were running watchtower along with an instance of *ce
|
|||||||
$ docker ps
|
$ docker ps
|
||||||
CONTAINER ID IMAGE STATUS PORTS NAMES
|
CONTAINER ID IMAGE STATUS PORTS NAMES
|
||||||
967848166a45 centurylink/wetty-cli Up 10 minutes 0.0.0.0:8080->3000/tcp wetty
|
967848166a45 centurylink/wetty-cli Up 10 minutes 0.0.0.0:8080->3000/tcp wetty
|
||||||
6cc4d2a9d1a5 centurylink/watchtower Up 15 minutes watchtower
|
6cc4d2a9d1a5 v2tec/watchtower Up 15 minutes watchtower
|
||||||
```
|
```
|
||||||
|
|
||||||
Every few mintutes watchtower will pull the latest *centurylink/wetty-cli* image and compare it to the one that was used to run the "wetty" container. If it sees that the image has changed it will stop/remove the "wetty" container and then restart it using the new image and the same `docker run` options that were used to start the container initially (in this case, that would include the `-p 8080:3000` port mapping).
|
Every few mintutes watchtower will pull the latest *centurylink/wetty-cli* image and compare it to the one that was used to run the "wetty" container. If it sees that the image has changed it will stop/remove the "wetty" container and then restart it using the new image and the same `docker run` options that were used to start the container initially (in this case, that would include the `-p 8080:3000` port mapping).
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Watchtower is itself packaged as a Docker container so installation is as simple as pulling the `centurylink/watchtower` image.
|
Watchtower is itself packaged as a Docker container so installation is as simple as pulling the `v2tec/watchtower` image.
|
||||||
|
|
||||||
Since the watchtower code needs to interact with the Docker API in order to monitor the running containers, you need to mount */var/run/docker.sock* into the container with the -v flag when you run it.
|
Since the watchtower code needs to interact with the Docker API in order to monitor the running containers, you need to mount */var/run/docker.sock* into the container with the -v flag when you run it.
|
||||||
|
|
||||||
@ -36,7 +34,7 @@ Run the `watchtower` container with the following command:
|
|||||||
docker run -d \
|
docker run -d \
|
||||||
--name watchtower \
|
--name watchtower \
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
centurylink/watchtower
|
v2tec/watchtower
|
||||||
```
|
```
|
||||||
|
|
||||||
If pulling images from private Docker registries, supply registry authentication credentials with the environment variables `REPO_USER` and `REPO_PASS`
|
If pulling images from private Docker registries, supply registry authentication credentials with the environment variables `REPO_USER` and `REPO_PASS`
|
||||||
@ -58,7 +56,7 @@ By default, watchtower will monitor all containers running within the Docker dae
|
|||||||
docker run -d \
|
docker run -d \
|
||||||
--name watchtower \
|
--name watchtower \
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
centurylink/watchtower nginx redis
|
v2tec/watchtower nginx redis
|
||||||
```
|
```
|
||||||
|
|
||||||
In the example above, watchtower will only monitor the containers named "nginx" and "redis" for updates -- all of the other running containers will be ignored.
|
In the example above, watchtower will only monitor the containers named "nginx" and "redis" for updates -- all of the other running containers will be ignored.
|
||||||
@ -70,7 +68,7 @@ When no arguments are specified, watchtower will monitor all running containers.
|
|||||||
Any of the options described below can be passed to the watchtower process by setting them after the image name in the `docker run` string:
|
Any of the options described below can be passed to the watchtower process by setting them after the image name in the `docker run` string:
|
||||||
|
|
||||||
```
|
```
|
||||||
docker run --rm centurylink/watchtower --help
|
docker run --rm v2tec/watchtower --help
|
||||||
```
|
```
|
||||||
|
|
||||||
* `--host, -h` Docker daemon socket to connect to. Defaults to "unix:///var/run/docker.sock" but can be pointed at a remote Docker host by specifying a TCP endpoint as "tcp://hostname:port". The host value can also be provided by setting the `DOCKER_HOST` environment variable.
|
* `--host, -h` Docker daemon socket to connect to. Defaults to "unix:///var/run/docker.sock" but can be pointed at a remote Docker host by specifying a TCP endpoint as "tcp://hostname:port". The host value can also be provided by setting the `DOCKER_HOST` environment variable.
|
||||||
@ -112,7 +110,7 @@ By default, watchtower is set-up to monitor the local Docker daemon (the same da
|
|||||||
```
|
```
|
||||||
docker run -d \
|
docker run -d \
|
||||||
--name watchtower \
|
--name watchtower \
|
||||||
centurylink/watchtower --host "tcp://10.0.1.2:2375"
|
v2tec/watchtower --host "tcp://10.0.1.2:2375"
|
||||||
```
|
```
|
||||||
|
|
||||||
or
|
or
|
||||||
@ -121,7 +119,7 @@ or
|
|||||||
docker run -d \
|
docker run -d \
|
||||||
--name watchtower \
|
--name watchtower \
|
||||||
-e DOCKER_HOST="tcp://10.0.1.2:2375" \
|
-e DOCKER_HOST="tcp://10.0.1.2:2375" \
|
||||||
centurylink/watchtower
|
v2tec/watchtower
|
||||||
```
|
```
|
||||||
|
|
||||||
Note in both of the examples above that it is unnecessary to mount the */var/run/docker.sock* into the watchtower container.
|
Note in both of the examples above that it is unnecessary to mount the */var/run/docker.sock* into the watchtower container.
|
||||||
@ -139,9 +137,9 @@ docker run -d \
|
|||||||
--name watchtower \
|
--name watchtower \
|
||||||
-e DOCKER_HOST=$DOCKER_HOST \
|
-e DOCKER_HOST=$DOCKER_HOST \
|
||||||
-v $DOCKER_CERT_PATH:/etc/ssl/docker \
|
-v $DOCKER_CERT_PATH:/etc/ssl/docker \
|
||||||
centurylink/watchtower --tlsverify
|
v2tec/watchtower --tlsverify
|
||||||
```
|
```
|
||||||
|
|
||||||
## Updating Watchtower
|
## Updating Watchtower
|
||||||
|
|
||||||
If watchtower is monitoring the same Docker daemon under which the watchtower container itself is running (i.e. if you volume-mounted */var/run/docker.sock* into the watchtower container) then it has the ability to update itself. If a new version of the *centurylink/watchtower* image is pushed to the Docker Hub, your watchtower will pull down the new image and restart itself automatically.
|
If watchtower is monitoring the same Docker daemon under which the watchtower container itself is running (i.e. if you volume-mounted */var/run/docker.sock* into the watchtower container) then it has the ability to update itself. If a new version of the *v2tec/watchtower* image is pushed to the Docker Hub, your watchtower will pull down the new image and restart itself automatically.
|
||||||
|
@ -3,7 +3,7 @@ package actions
|
|||||||
import (
|
import (
|
||||||
"sort"
|
"sort"
|
||||||
|
|
||||||
"github.com/CenturyLinkLabs/watchtower/container"
|
"github.com/v2tec/watchtower/container"
|
||||||
)
|
)
|
||||||
|
|
||||||
func watchtowerContainersFilter(c container.Container) bool { return c.IsWatchtower() }
|
func watchtowerContainersFilter(c container.Container) bool { return c.IsWatchtower() }
|
||||||
|
@ -4,7 +4,7 @@ import (
|
|||||||
"math/rand"
|
"math/rand"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/CenturyLinkLabs/watchtower/container"
|
"github.com/v2tec/watchtower/container"
|
||||||
log "github.com/Sirupsen/logrus"
|
log "github.com/Sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
11
circle.yml
11
circle.yml
@ -1,8 +1,6 @@
|
|||||||
machine:
|
machine:
|
||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
environment:
|
|
||||||
IMAGE_NAME: centurylink/watchtower
|
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
override:
|
override:
|
||||||
@ -11,12 +9,3 @@ dependencies:
|
|||||||
test:
|
test:
|
||||||
override:
|
override:
|
||||||
- docker run -v $(pwd):/src centurylink/golang-builder:latest --test
|
- docker run -v $(pwd):/src centurylink/golang-builder:latest --test
|
||||||
|
|
||||||
deployment:
|
|
||||||
hub:
|
|
||||||
branch: master
|
|
||||||
commands:
|
|
||||||
- docker run -v $(pwd):/src centurylink/golang-builder:latest
|
|
||||||
- docker build -t $IMAGE_NAME:latest .
|
|
||||||
- docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
|
|
||||||
- docker push $IMAGE_NAME:latest
|
|
||||||
|
@ -3,7 +3,7 @@ package mockclient
|
|||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/CenturyLinkLabs/watchtower/container"
|
"github.com/v2tec/watchtower/container"
|
||||||
"github.com/stretchr/testify/mock"
|
"github.com/stretchr/testify/mock"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/CenturyLinkLabs/watchtower/container"
|
"github.com/v2tec/watchtower/container"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMockInterface(t *testing.T) {
|
func TestMockInterface(t *testing.T) {
|
||||||
|
6
main.go
6
main.go
@ -1,4 +1,4 @@
|
|||||||
package main // import "github.com/CenturyLinkLabs/watchtower"
|
package main // import "github.com/v2tec/watchtower"
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -8,10 +8,10 @@ import (
|
|||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/CenturyLinkLabs/watchtower/actions"
|
|
||||||
"github.com/CenturyLinkLabs/watchtower/container"
|
|
||||||
log "github.com/Sirupsen/logrus"
|
log "github.com/Sirupsen/logrus"
|
||||||
"github.com/urfave/cli"
|
"github.com/urfave/cli"
|
||||||
|
"github.com/v2tec/watchtower/actions"
|
||||||
|
"github.com/v2tec/watchtower/container"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
Loading…
Reference in New Issue
Block a user