Skip to content
🐳-⌚ A command line utiltiy to notify docker mounted volumes about changes on Windows
C# PowerShell Other
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
docs
scripts
src
test/DockerWatch.Test
.editorconfig
.gitignore
CHANGELOG.md
Directory.Build.props
Directory.Build.targets
LICENSE
README.md
Version.props
azure-pipelines.yml
docker-watch.sln

README.md

Docker Watch

Build Status NuGet

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.

Installation

Download the 2.1.300 .NET Core SDK or newer. Once installed, running the folling command:

dotnet tool install --global docker-watch

Or use the following when upgrading from a previous version:

dotnet tool update --global docker-watch

It 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, ...).

Usage

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-watch
Notify 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.
You can’t perform that action at this time.