mirror of
https://github.com/kemko/nomad.git
synced 2026-01-05 18:05:42 +03:00
Merge pull request #1877 from hashicorp/b-expand-docker-vols
Expand env vars in docker volume paths
This commit is contained in:
@@ -405,7 +405,10 @@ func (d *DockerDriver) containerBinds(driverConfig *DockerDriverConfig, alloc *a
|
||||
binds := []string{allocDirBind, taskLocalBind, secretDirBind}
|
||||
|
||||
volumesEnabled := d.config.ReadBoolDefault(dockerVolumesConfigOption, dockerVolumesConfigDefault)
|
||||
for _, userbind := range driverConfig.Volumes {
|
||||
|
||||
// Expand environment variables in volume paths
|
||||
expandedVols := d.taskEnv.ParseAndReplace(driverConfig.Volumes)
|
||||
for _, userbind := range expandedVols {
|
||||
parts := strings.Split(userbind, ":")
|
||||
if len(parts) < 2 {
|
||||
return nil, fmt.Errorf("invalid docker volume: %q", userbind)
|
||||
|
||||
@@ -950,16 +950,18 @@ func setupDockerVolumes(t *testing.T, cfg *config.Config, hostpath string) (*str
|
||||
|
||||
randfn := fmt.Sprintf("test-%d", rand.Int())
|
||||
hostfile := filepath.Join(hostpath, randfn)
|
||||
containerFile := filepath.Join("/mnt/vol", randfn)
|
||||
containerPath := "/mnt/vol"
|
||||
containerFile := filepath.Join(containerPath, randfn)
|
||||
|
||||
task := &structs.Task{
|
||||
Name: "ls",
|
||||
Env: map[string]string{"VOL_PATH": containerPath},
|
||||
Config: map[string]interface{}{
|
||||
"image": "busybox",
|
||||
"load": []string{"busybox.tar"},
|
||||
"command": "touch",
|
||||
"args": []string{containerFile},
|
||||
"volumes": []string{fmt.Sprintf("%s:/mnt/vol", hostpath)},
|
||||
"volumes": []string{fmt.Sprintf("%s:${VOL_PATH}", hostpath)},
|
||||
},
|
||||
LogConfig: &structs.LogConfig{
|
||||
MaxFiles: 10,
|
||||
|
||||
Reference in New Issue
Block a user