mirror of
https://github.com/containrrr/watchtower.git
synced 2025-12-16 15:10:12 +01:00
Deployed 247baf5 with MkDocs version: 1.1.2
This commit is contained in:
parent
e7c07c8ba8
commit
670ba26f36
5 changed files with 66 additions and 59 deletions
29
index.html
29
index.html
|
|
@ -483,7 +483,7 @@
|
||||||
|
|
||||||
|
|
||||||
<p style="text-align: center; margin-left: 1.6rem;">
|
<p style="text-align: center; margin-left: 1.6rem;">
|
||||||
<img src="./images/logo-450px.png" width="450" />
|
<img alt="Logotype depicting a lighthouse" src="./images/logo-450px.png" width="450" />
|
||||||
</p>
|
</p>
|
||||||
<h1 align="center">
|
<h1 align="center">
|
||||||
Watchtower
|
Watchtower
|
||||||
|
|
@ -529,19 +529,22 @@
|
||||||
Hub or your own image registry. Watchtower will pull down your new image, gracefully shut down your existing container
|
Hub or your own image registry. Watchtower will pull down your new image, gracefully shut down your existing container
|
||||||
and restart it with the same options that were used when it was deployed initially. Run the watchtower container with
|
and restart it with the same options that were used when it was deployed initially. Run the watchtower container with
|
||||||
the following command:</p>
|
the following command:</p>
|
||||||
<div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">docker run</label><div class="tabbed-content"></div>
|
<div class="tabbed-set" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">docker run</label><div class="tabbed-content">
|
||||||
</div>
|
<div class="highlight"><pre><span></span><code>$ docker run -d <span class="se">\</span>
|
||||||
<p>```bash $ docker run -d \
|
--name watchtower <span class="se">\</span>
|
||||||
--name watchtower \
|
-v /var/run/docker.sock:/var/run/docker.sock <span class="se">\</span>
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
||||||
containrrr/watchtower
|
containrrr/watchtower
|
||||||
<div class="highlight"><pre><span></span><code>=== "docker-compose.yml"
|
</code></pre></div>
|
||||||
```yaml version: "3"
|
</div>
|
||||||
services:
|
<input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">docker-compose.yml</label><div class="tabbed-content">
|
||||||
watchtower:
|
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span> <span class="s">"3"</span>
|
||||||
image: containrrr/watchtower volumes:
|
<span class="nt">services</span><span class="p">:</span>
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
<span class="nt">watchtower</span><span class="p">:</span>
|
||||||
</code></pre></div></p>
|
<span class="nt">image</span><span class="p">:</span> <span class="nt">containrrr/watchtower volumes</span><span class="p">:</span>
|
||||||
|
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">/var/run/docker.sock:/var/run/docker.sock</span>
|
||||||
|
</code></pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -611,19 +611,22 @@ executable.</p>
|
||||||
</table>
|
</table>
|
||||||
<p>These labels can be declared as instructions in a Dockerfile (with some example .sh files) or be specified as part of
|
<p>These labels can be declared as instructions in a Dockerfile (with some example .sh files) or be specified as part of
|
||||||
the <code>docker run</code> command line:</p>
|
the <code>docker run</code> command line:</p>
|
||||||
<div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Dockerfile</label><div class="tabbed-content"></div>
|
<div class="tabbed-set" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Dockerfile</label><div class="tabbed-content">
|
||||||
|
<div class="highlight"><pre><span></span><code><span class="k">LABEL</span> com.centurylinklabs.watchtower.lifecycle.pre-check<span class="o">=</span><span class="s2">"/sync.sh"</span>
|
||||||
|
<span class="k">LABEL</span> com.centurylinklabs.watchtower.lifecycle.pre-update<span class="o">=</span><span class="s2">"/dump-data.sh"</span>
|
||||||
|
<span class="k">LABEL</span> com.centurylinklabs.watchtower.lifecycle.post-update<span class="o">=</span><span class="s2">"/restore-data.sh"</span>
|
||||||
|
<span class="k">LABEL</span> com.centurylinklabs.watchtower.lifecycle.post-check<span class="o">=</span><span class="s2">"/send-heartbeat.sh"</span>
|
||||||
|
</code></pre></div>
|
||||||
|
</div>
|
||||||
|
<input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">docker run</label><div class="tabbed-content">
|
||||||
|
<div class="highlight"><pre><span></span><code>docker run -d <span class="se">\</span>
|
||||||
|
--label<span class="o">=</span>com.centurylinklabs.watchtower.lifecycle.pre-check<span class="o">=</span><span class="s2">"/sync.sh"</span> <span class="se">\</span>
|
||||||
|
--label<span class="o">=</span>com.centurylinklabs.watchtower.lifecycle.pre-update<span class="o">=</span><span class="s2">"/dump-data.sh"</span> <span class="se">\</span>
|
||||||
|
--label<span class="o">=</span>com.centurylinklabs.watchtower.lifecycle.post-update<span class="o">=</span><span class="s2">"/restore-data.sh"</span> <span class="se">\</span>
|
||||||
|
someimage --label<span class="o">=</span>com.centurylinklabs.watchtower.lifecycle.post-check<span class="o">=</span><span class="s2">"/send-heartbeat.sh"</span> <span class="se">\</span>
|
||||||
|
</code></pre></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p>```docker LABEL com.centurylinklabs.watchtower.lifecycle.pre-check="/sync.sh"
|
|
||||||
LABEL com.centurylinklabs.watchtower.lifecycle.pre-update="/dump-data.sh"
|
|
||||||
LABEL com.centurylinklabs.watchtower.lifecycle.post-update="/restore-data.sh"
|
|
||||||
LABEL com.centurylinklabs.watchtower.lifecycle.post-check="/send-heartbeat.sh"
|
|
||||||
<div class="highlight"><pre><span></span><code>=== "docker run"
|
|
||||||
```bash docker run -d \
|
|
||||||
--label=com.centurylinklabs.watchtower.lifecycle.pre-check="/sync.sh" \
|
|
||||||
--label=com.centurylinklabs.watchtower.lifecycle.pre-update="/dump-data.sh" \
|
|
||||||
--label=com.centurylinklabs.watchtower.lifecycle.post-update="/restore-data.sh" \
|
|
||||||
someimage --label=com.centurylinklabs.watchtower.lifecycle.post-check="/send-heartbeat.sh" \
|
|
||||||
</code></pre></div></p>
|
|
||||||
<h3 id="timeouts">Timeouts<a class="headerlink" href="#timeouts" title="Permanent link">¶</a></h3>
|
<h3 id="timeouts">Timeouts<a class="headerlink" href="#timeouts" title="Permanent link">¶</a></h3>
|
||||||
<p>The timeout for all lifecycle commands is 60 seconds. After that, a timeout will
|
<p>The timeout for all lifecycle commands is 60 seconds. After that, a timeout will
|
||||||
occur, forcing Watchtower to continue the update loop.</p>
|
occur, forcing Watchtower to continue the update loop.</p>
|
||||||
|
|
|
||||||
|
|
@ -641,9 +641,9 @@ helper in a separate container and mount it using volumes.</p>
|
||||||
<p>Use the dockerfile below to build the <a href="https://github.com/awslabs/amazon-ecr-credential-helper">amazon-ecr-credential-helper</a>,
|
<p>Use the dockerfile below to build the <a href="https://github.com/awslabs/amazon-ecr-credential-helper">amazon-ecr-credential-helper</a>,
|
||||||
in a volume that may be mounted onto your watchtower container.</p>
|
in a volume that may be mounted onto your watchtower container.</p>
|
||||||
<ol>
|
<ol>
|
||||||
<li>Create the Dockerfile (contents below):</li>
|
<li>
|
||||||
</ol>
|
<p>Create the Dockerfile (contents below):
|
||||||
<div class="highlight"><pre><span></span><code><span class="k">FROM</span> <span class="s">golang:latest</span>
|
<div class="highlight"><pre><span></span><code><span class="k">FROM</span> <span class="s">golang:latest</span>
|
||||||
|
|
||||||
<span class="k">ENV</span> CGO_ENABLED <span class="m">0</span>
|
<span class="k">ENV</span> CGO_ENABLED <span class="m">0</span>
|
||||||
<span class="k">ENV</span> REPO github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login
|
<span class="k">ENV</span> REPO github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login
|
||||||
|
|
@ -653,44 +653,45 @@ in a volume that may be mounted onto your watchtower container.</p>
|
||||||
<span class="k">RUN</span> rm /go/bin/docker-credential-ecr-login
|
<span class="k">RUN</span> rm /go/bin/docker-credential-ecr-login
|
||||||
|
|
||||||
<span class="k">RUN</span> go build <span class="se">\</span>
|
<span class="k">RUN</span> go build <span class="se">\</span>
|
||||||
-o /go/bin/docker-credential-ecr-login <span class="se">\</span>
|
-o /go/bin/docker-credential-ecr-login <span class="se">\</span>
|
||||||
/go/src/<span class="nv">$REPO</span>
|
/go/src/<span class="nv">$REPO</span>
|
||||||
|
|
||||||
<span class="k">WORKDIR</span><span class="s"> /go/bin/</span>
|
<span class="k">WORKDIR</span><span class="s"> /go/bin/</span>
|
||||||
</code></pre></div>
|
</code></pre></div></p>
|
||||||
<ol>
|
</li>
|
||||||
<li>Use the following commands to build the aws-ecr-dock-cred-helper and store it's output in a volume:</li>
|
<li>
|
||||||
</ol>
|
<p>Use the following commands to build the aws-ecr-dock-cred-helper and store it's output in a volume:
|
||||||
<div class="highlight"><pre><span></span><code><span class="c1"># Create a volume to store the command (once built)</span>
|
<div class="highlight"><pre><span></span><code><span class="c1"># Create a volume to store the command (once built)</span>
|
||||||
docker volume create helper
|
docker volume create helper
|
||||||
|
|
||||||
<span class="c1"># Build the container</span>
|
<span class="c1"># Build the container</span>
|
||||||
docker build -t aws-ecr-dock-cred-helper .
|
docker build -t aws-ecr-dock-cred-helper .
|
||||||
|
|
||||||
<span class="c1"># Build the command and store it in the new volume in the /go/bin directory.</span>
|
<span class="c1"># Build the command and store it in the new volume in the /go/bin directory.</span>
|
||||||
docker run -d --rm --name aws-cred-helper --volume helper:/go/bin aws-ecr-dock-cred-helper
|
docker run -d --rm --name aws-cred-helper <span class="se">\</span>
|
||||||
</code></pre></div>
|
--volume helper:/go/bin aws-ecr-dock-cred-helper
|
||||||
<ol>
|
</code></pre></div></p>
|
||||||
<li>Create a configuration file for docker, and store it in $HOME/.docker/config.json (replace the <AWS_ACCOUNT_ID>
|
</li>
|
||||||
placeholders with your AWS Account ID):</li>
|
|
||||||
</ol>
|
|
||||||
<div class="highlight"><pre><span></span><code><span class="p">{</span>
|
|
||||||
<span class="nt">"credsStore"</span> <span class="p">:</span> <span class="s2">"ecr-login"</span><span class="p">,</span>
|
|
||||||
<span class="nt">"HttpHeaders"</span> <span class="p">:</span> <span class="p">{</span>
|
|
||||||
<span class="nt">"User-Agent"</span> <span class="p">:</span> <span class="s2">"Docker-Client/19.03.1 (XXXXXX)"</span>
|
|
||||||
<span class="p">},</span>
|
|
||||||
<span class="nt">"auths"</span> <span class="p">:</span> <span class="p">{</span>
|
|
||||||
<span class="nt">"<AWS_ACCOUNT_ID>.dkr.ecr.us-west-1.amazonaws.com"</span> <span class="p">:</span> <span class="p">{}</span>
|
|
||||||
<span class="p">},</span>
|
|
||||||
<span class="nt">"credHelpers"</span><span class="p">:</span> <span class="p">{</span>
|
|
||||||
<span class="nt">"<AWS_ACCOUNT_ID>.dkr.ecr.us-west-1.amazonaws.com"</span> <span class="p">:</span> <span class="s2">"ecr-login"</span>
|
|
||||||
<span class="p">}</span>
|
|
||||||
<span class="p">}</span>
|
|
||||||
</code></pre></div>
|
|
||||||
<ol>
|
|
||||||
<li>
|
<li>
|
||||||
<p>Create a docker-compose file (as an example) to help launch the container:</p>
|
<p>Create a configuration file for docker, and store it in $HOME/.docker/config.json (replace the <AWS_ACCOUNT_ID>
|
||||||
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span> <span class="s">"3.4"</span>
|
placeholders with your AWS Account ID):
|
||||||
|
<div class="highlight"><pre><span></span><code><span class="p">{</span>
|
||||||
|
<span class="nt">"credsStore"</span> <span class="p">:</span> <span class="s2">"ecr-login"</span><span class="p">,</span>
|
||||||
|
<span class="nt">"HttpHeaders"</span> <span class="p">:</span> <span class="p">{</span>
|
||||||
|
<span class="nt">"User-Agent"</span> <span class="p">:</span> <span class="s2">"Docker-Client/19.03.1 (XXXXXX)"</span>
|
||||||
|
<span class="p">},</span>
|
||||||
|
<span class="nt">"auths"</span> <span class="p">:</span> <span class="p">{</span>
|
||||||
|
<span class="nt">"<AWS_ACCOUNT_ID>.dkr.ecr.us-west-1.amazonaws.com"</span> <span class="p">:</span> <span class="p">{}</span>
|
||||||
|
<span class="p">},</span>
|
||||||
|
<span class="nt">"credHelpers"</span><span class="p">:</span> <span class="p">{</span>
|
||||||
|
<span class="nt">"<AWS_ACCOUNT_ID>.dkr.ecr.us-west-1.amazonaws.com"</span> <span class="p">:</span> <span class="s2">"ecr-login"</span>
|
||||||
|
<span class="p">}</span>
|
||||||
|
<span class="p">}</span>
|
||||||
|
</code></pre></div></p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Create a docker-compose file (as an example) to help launch the container:
|
||||||
|
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span> <span class="s">"3.4"</span>
|
||||||
<span class="nt">services</span><span class="p">:</span>
|
<span class="nt">services</span><span class="p">:</span>
|
||||||
<span class="c1"># Check for new images and restart things if a new image exists</span>
|
<span class="c1"># Check for new images and restart things if a new image exists</span>
|
||||||
<span class="c1"># for any of our containers.</span>
|
<span class="c1"># for any of our containers.</span>
|
||||||
|
|
@ -707,7 +708,7 @@ docker run -d --rm --name aws-cred-helper --volume helper:/go/bin aws-ecr-dock-
|
||||||
<span class="nt">volumes</span><span class="p">:</span>
|
<span class="nt">volumes</span><span class="p">:</span>
|
||||||
<span class="nt">helper</span><span class="p">:</span>
|
<span class="nt">helper</span><span class="p">:</span>
|
||||||
<span class="nt">external</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">true</span>
|
<span class="nt">external</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">true</span>
|
||||||
</code></pre></div>
|
</code></pre></div></p>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
<p>A few additional notes:</p>
|
<p>A few additional notes:</p>
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
BIN
sitemap.xml.gz
BIN
sitemap.xml.gz
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue