The idea of this tool is to provide a workaround for file change events in docker for windows not being fired inside mounted container volumes.
This is caused due to limitations of the current CIFS implementation in the Linux kernel. Which breaks watch modes that many frameworks, tools use to
do recompilation of an application during development (e.g. dotnet-watch, nodemon, webpack, ...). A common solution to this problem is to turn on polling
to make those tools pickup file changes. But that requires you to change your dockerfile's, development scripts, ... just to be able to develop on Windows
This is where this tools comes in to help you keep you scripts clean and use the same development process on Windows as you would on Mac or Linux.
Download the 2.1.300 .NET Core SDK or newer. Once installed, running the folling command:
dotnet tool install --global docker-watchOr use the following when upgrading from a previous version:
dotnet tool update --global docker-watchIt requires sh, stat and chmod to already be installed inside a container. This
should be the case for most linux containers e.g. (ubuntu, debian, alpine, ...).
Running docker-watch will setup monitoring for each mount in the current running containers.
It also sets up listeners for container start and stop events so that monitors will be kept in sync.
docker-watchNotify docker containers about changes in mounted volumes.
Usage: docker-watch [options]
Options:
--version Show version information
-?|-h|--help Show help information
-v|--verbose Enable more verbose and rich logging.
-c|--container <CONTAINER> Glob pattern to filter containers. Without providing a pattern, notifiers will get attached to each running container.