From 9e7dfe7be442d1259b6ed5223558f2201f1fd43b Mon Sep 17 00:00:00 2001 From: Sebastiaan Tammer Date: Tue, 2 Jun 2020 23:44:41 +0200 Subject: [PATCH] `config.json` symlink workaround described (#566) --- docs/usage-overview.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/usage-overview.md b/docs/usage-overview.md index f74a9a7..2fa8fe7 100644 --- a/docs/usage-overview.md +++ b/docs/usage-overview.md @@ -37,6 +37,8 @@ docker run -d \ containrrr/watchtower container_to_watch --debug ``` +> NOTE: if you mount `config.json` in the manner above, changes from the host system will (generally) not be propagated to the running container. Mounting files into the Docker daemon uses bind mounts, which are based on inodes. Most applications (including `docker login` and `vim`) will not directly edit the file, but instead make a copy and replace the original file, which results in a new inode which in turn *breaks* the bind mount. **As a workaround**, you can create a symlink to your `config.json` file and then mount the symlink in the container. The symlinked file will always have the same inode, which keeps the bind mount intact and will ensure changes to the original file are propagated to the running container (regardless of the inode of the source file!). + If you mount the config file as described above, be sure to also prepend the URL for the registry when starting up your watched image (you can omit the https://). Here is a complete docker-compose.yml file that starts up a docker container from a private repo at Docker Hub and monitors it with watchtower. Note the command argument changing the interval to 30s rather than the default 5 minutes. ```json