github.com/OpenFlowLabs/moby@v17.12.1-ce-rc2+incompatible/volume/lcow_parser.go (about) 1 package volume 2 3 import ( 4 "errors" 5 "fmt" 6 "path" 7 8 "github.com/docker/docker/api/types/mount" 9 ) 10 11 var lcowSpecificValidators mountValidator = func(m *mount.Mount) error { 12 if path.Clean(m.Target) == "/" { 13 return fmt.Errorf("invalid specification: destination can't be '/'") 14 } 15 if m.Type == mount.TypeNamedPipe { 16 return errors.New("Linux containers on Windows do not support named pipe mounts") 17 } 18 return nil 19 } 20 21 type lcowParser struct { 22 windowsParser 23 } 24 25 func (p *lcowParser) ValidateMountConfig(mnt *mount.Mount) error { 26 return p.validateMountConfigReg(mnt, rxLCOWDestination, lcowSpecificValidators) 27 } 28 29 func (p *lcowParser) ParseMountRaw(raw, volumeDriver string) (*MountPoint, error) { 30 return p.parseMountRaw(raw, volumeDriver, rxLCOWDestination, false, lcowSpecificValidators) 31 } 32 33 func (p *lcowParser) ParseMountSpec(cfg mount.Mount) (*MountPoint, error) { 34 return p.parseMountSpec(cfg, rxLCOWDestination, false, lcowSpecificValidators) 35 }