While working on the fix for #8330 I noticed a few things: 1 - the split() call for the .dockerignore process will generate a blank "exclude". While this isn't causing an issue right now, I got worried that in the future some code later on might interpret "" as something bad, like "everything" or ".". So I added a check for an empty "exclude" and skipped it 2 - if someone puts "foo" in their .dockerignore then we'll skip "foo". However, if they put "./foo" then we won't due to the painfully simplistic logic of go's filepath.Match algorithm. To help things a little (and to treat ./Dockerfile just like Dockerfile) I added code to filepath.Clean() each entry in .dockerignore. It should result in the same semantic path but ensure that no matter how the user expresses the path, we'll match it. Signed-off-by: Doug Davis <dug@us.ibm.com> Upstream-commit: c0f0f5c9887032c606750b645001829d9f14f47c Component: engine
This directory contains code pertaining to the Docker API:
-
Used by the docker client when communicating with the docker daemon
-
Used by third party tools wishing to interface with the docker daemon