.dockerignore中的例外
.dockerignore
如何处理exception?
例如,我想忽略除src/web/public
之外的所有src/
目录。
我试过了…
.git src !src/web/public
似乎不工作。
docker build .
显示Sending build context to Docker daemon 20.63 MB
方式。
似乎.dockerignore
处理exception。 如果有一个众所周知的语法, 你可以提出改变,并提出拉请求 。
在commands.go的标记1.3中,我们看到:
ignore, err := ioutil.ReadFile(path.Join(root, ".dockerignore")) // ... options := &archive.TarOptions{ Compression: archive.Uncompressed, Excludes: excludes, } context, err = archive.TarWithOptions(root, options)
并在archive.go :
for _, include := range options.Includes { // ... skip, err := fileutils.Matches(relFilePath, options.Excludes) if err != nil { log.Debugf("Error matching %s", relFilePath, err) return err } if skip { if f.IsDir() { return filepath.SkipDir } return nil } // ... }
只是想添加以防其他人遇到这个问题,Docker 1.7.0排除在.dockerignore文件中受支持。 因此,问题中的示例!src/web/public
实际上起作用
https://docs.docker.com/engine/reference/builder/#dockerignore-file