1package main 2 3import ( 4 "path/filepath" 5 6 "github.com/Microsoft/hcsshim" 7 "github.com/Microsoft/hcsshim/internal/appargs" 8 "github.com/urfave/cli" 9) 10 11var createCommand = cli.Command{ 12 Name: "create", 13 Usage: "creates a new writable container layer", 14 Flags: []cli.Flag{ 15 cli.StringSliceFlag{ 16 Name: "layer, l", 17 Usage: "paths to the read-only parent layers", 18 }, 19 }, 20 ArgsUsage: "<layer path>", 21 Before: appargs.Validate(appargs.NonEmptyString), 22 Action: func(context *cli.Context) error { 23 path, err := filepath.Abs(context.Args().First()) 24 if err != nil { 25 return err 26 } 27 28 layers, err := normalizeLayers(context.StringSlice("layer"), true) 29 if err != nil { 30 return err 31 } 32 33 di := driverInfo 34 return hcsshim.CreateScratchLayer(di, path, layers[len(layers)-1], layers) 35 }, 36} 37