plugins/providers/docker/driver.rb in vagrant-unbundled-2.1.2.0 vs plugins/providers/docker/driver.rb in vagrant-unbundled-2.1.4.0

- old
+ new

@@ -47,17 +47,26 @@ run_cmd += links.map { |k, v| ['--link', "#{k}:#{v}"] } run_cmd += ports.map { |p| ['-p', p.to_s] } run_cmd += volumes.map { |v| v = v.to_s if v.include?(":") && @executor.windows? - host, guest = v.split(":", 2) - host = Vagrant::Util::Platform.windows_path(host) - # NOTE: Docker does not support UNC style paths (which also - # means that there's no long path support). Hopefully this - # will be fixed someday and the gsub below can be removed. - host.gsub!(/^[^A-Za-z]+/, "") - v = [host, guest].join(":") + if v.index(":") != v.rindex(":") + # If we have 2 colons, the host path is an absolute Windows URL + # and we need to remove the colon from it + host, colon, guest = v.rpartition(":") + host = "//" + host[0].downcase + host[2..-1] + v = [host, guest].join(":") + else + host, guest = v.split(":", 2) + host = Vagrant::Util::Platform.windows_path(host) + # NOTE: Docker does not support UNC style paths (which also + # means that there's no long path support). Hopefully this + # will be fixed someday and the gsub below can be removed. + host.gsub!(/^[^A-Za-z]+/, "") + v = [host, guest].join(":") + end end + ['-v', v.to_s] } run_cmd += %W(--privileged) if params[:privileged] run_cmd += %W(-h #{params[:hostname]}) if params[:hostname] run_cmd << "-t" if params[:pty]