|
@@ -155,11 +155,10 @@ func (cli *DockerCli) CmdBuild(args ...string) error {
|
|
if *dockerfileName == "" {
|
|
if *dockerfileName == "" {
|
|
// No -f/--file was specified so use the default
|
|
// No -f/--file was specified so use the default
|
|
*dockerfileName = api.DefaultDockerfileName
|
|
*dockerfileName = api.DefaultDockerfileName
|
|
- filename = path.Join(absRoot, *dockerfileName)
|
|
|
|
|
|
+ filename = filepath.Join(absRoot, *dockerfileName)
|
|
}
|
|
}
|
|
|
|
|
|
origDockerfile := *dockerfileName // used for error msg
|
|
origDockerfile := *dockerfileName // used for error msg
|
|
-
|
|
|
|
if filename, err = filepath.Abs(filename); err != nil {
|
|
if filename, err = filepath.Abs(filename); err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
@@ -175,6 +174,11 @@ func (cli *DockerCli) CmdBuild(args ...string) error {
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
|
|
+ // And canonicalize dockerfile name to a platform-independent one
|
|
|
|
+ *dockerfileName, err = archive.CanonicalTarNameForPath(*dockerfileName)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return fmt.Errorf("Cannot canonicalize dockerfile path %s: %v", dockerfileName, err)
|
|
|
|
+ }
|
|
|
|
|
|
if _, err = os.Lstat(filename); os.IsNotExist(err) {
|
|
if _, err = os.Lstat(filename); os.IsNotExist(err) {
|
|
return fmt.Errorf("Cannot locate Dockerfile: %s", origDockerfile)
|
|
return fmt.Errorf("Cannot locate Dockerfile: %s", origDockerfile)
|