mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Add explicit flags for volume cp/no-cp
This allows a user to specify explicitly to enable automatic copying of data from the container path to the volume path. This does not change the default behavior of automatically copying, but does allow a user to disable it at runtime. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
This commit is contained in:
parent
c22d09f563
commit
b0ac69b67e
14 changed files with 123 additions and 28 deletions
28
volume/volume_copy.go
Normal file
28
volume/volume_copy.go
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
package volume
|
||||
|
||||
import "strings"
|
||||
|
||||
const (
|
||||
// DefaultCopyMode is the copy mode used by default for normal/named volumes
|
||||
DefaultCopyMode = true
|
||||
)
|
||||
|
||||
// {<copy mode>=isEnabled}
|
||||
var copyModes = map[string]bool{
|
||||
"nocopy": false,
|
||||
}
|
||||
|
||||
func copyModeExists(mode string) bool {
|
||||
_, exists := copyModes[mode]
|
||||
return exists
|
||||
}
|
||||
|
||||
// GetCopyMode gets the copy mode from the mode string for mounts
|
||||
func getCopyMode(mode string) (bool, bool) {
|
||||
for _, o := range strings.Split(mode, ",") {
|
||||
if isEnabled, exists := copyModes[o]; exists {
|
||||
return isEnabled, true
|
||||
}
|
||||
}
|
||||
return DefaultCopyMode, false
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue