Allow Mac/Windows users to use Docker native
This commit is contained in:
parent
db1f98ffd6
commit
8c11b537ba
|
@ -1,5 +1,7 @@
|
||||||
require "pathname"
|
require "pathname"
|
||||||
|
|
||||||
|
require_relative "../../../lib/vagrant/util/platform"
|
||||||
|
|
||||||
module VagrantPlugins
|
module VagrantPlugins
|
||||||
module DockerProvider
|
module DockerProvider
|
||||||
class Config < Vagrant.plugin("2", :config)
|
class Config < Vagrant.plugin("2", :config)
|
||||||
|
@ -202,7 +204,6 @@ module VagrantPlugins
|
||||||
@create_args = [] if @create_args == UNSET_VALUE
|
@create_args = [] if @create_args == UNSET_VALUE
|
||||||
@dockerfile = nil if @dockerfile == UNSET_VALUE
|
@dockerfile = nil if @dockerfile == UNSET_VALUE
|
||||||
@env ||= {}
|
@env ||= {}
|
||||||
@force_host_vm = false if @force_host_vm == UNSET_VALUE
|
|
||||||
@has_ssh = false if @has_ssh == UNSET_VALUE
|
@has_ssh = false if @has_ssh == UNSET_VALUE
|
||||||
@image = nil if @image == UNSET_VALUE
|
@image = nil if @image == UNSET_VALUE
|
||||||
@name = nil if @name == UNSET_VALUE
|
@name = nil if @name == UNSET_VALUE
|
||||||
|
@ -223,6 +224,13 @@ module VagrantPlugins
|
||||||
@host_vm_build_dir_options = nil
|
@host_vm_build_dir_options = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# On non-linux platforms (where there is no native docker), force the
|
||||||
|
# host VM. Other users can optionally disable this by setting the
|
||||||
|
# value explicitly to false in their Vagrantfile.
|
||||||
|
if @force_host_vm == UNSET_VALUE
|
||||||
|
@force_host_vm = !Vagrant::Util::Platform.linux?
|
||||||
|
end
|
||||||
|
|
||||||
# The machine name must be a symbol
|
# The machine name must be a symbol
|
||||||
@vagrant_machine = @vagrant_machine.to_sym if @vagrant_machine
|
@vagrant_machine = @vagrant_machine.to_sym if @vagrant_machine
|
||||||
|
|
||||||
|
|
|
@ -60,6 +60,7 @@ describe VagrantPlugins::DockerProvider::Config do
|
||||||
before do
|
before do
|
||||||
# By default lets be Linux for validations
|
# By default lets be Linux for validations
|
||||||
Vagrant::Util::Platform.stub(linux: true)
|
Vagrant::Util::Platform.stub(linux: true)
|
||||||
|
Vagrant::Util::Platform.stub(linux?: true)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should be invalid if both build dir and image are set" do
|
it "should be invalid if both build dir and image are set" do
|
||||||
|
|
|
@ -50,7 +50,11 @@ General settings:
|
||||||
|
|
||||||
* `force_host_vm` (boolean) - If true, then a host VM will be spun up
|
* `force_host_vm` (boolean) - If true, then a host VM will be spun up
|
||||||
even if the computer running Vagrant supports Linux containers. This
|
even if the computer running Vagrant supports Linux containers. This
|
||||||
is useful to enforce a consistent environment to run Docker.
|
is useful to enforce a consistent environment to run Docker. This value
|
||||||
|
defaults to "true" on Mac and Windows hosts and defaults to "false" on
|
||||||
|
Linux hosts. Mac/Windows users who choose to use a different Docker
|
||||||
|
provider or opt-in to the native Docker builds can explicitly set this
|
||||||
|
value to false to disable the behavior.
|
||||||
|
|
||||||
* `has_ssh` (boolean) - If true, then Vagrant will support SSH with
|
* `has_ssh` (boolean) - If true, then Vagrant will support SSH with
|
||||||
the container. This allows `vagrant ssh` to work, provisioners, etc.
|
the container. This allows `vagrant ssh` to work, provisioners, etc.
|
||||||
|
|
Loading…
Reference in New Issue