providers/docker: can set custom container name

This commit is contained in:
Mitchell Hashimoto 2014-04-17 18:40:04 -07:00
parent 58ddc66b9c
commit 61388186e9
3 changed files with 15 additions and 3 deletions

View File

@ -43,9 +43,12 @@ module VagrantPlugins
end end
def create_params def create_params
container_name = "#{@env[:root_path].basename.to_s}_#{@machine.name}" container_name = @provider_config.name
container_name.gsub!(/[^-a-z0-9_]/i, "") if !container_name
container_name << "_#{Time.now.to_i}" container_name = "#{@env[:root_path].basename.to_s}_#{@machine.name}"
container_name.gsub!(/[^-a-z0-9_]/i, "")
container_name << "_#{Time.now.to_i}"
end
links = {} links = {}
@provider_config._links.each do |link| @provider_config._links.each do |link|

View File

@ -19,6 +19,12 @@ module VagrantPlugins
# provisioning, etc. # provisioning, etc.
attr_accessor :has_ssh attr_accessor :has_ssh
# The name for the container. This must be unique for all containers
# on the proxy machine if it is made.
#
# @return [String]
attr_accessor :name
# True if the docker container is meant to stay in the "running" # True if the docker container is meant to stay in the "running"
# state (is a long running process). By default this is true. # state (is a long running process). By default this is true.
# #
@ -53,6 +59,7 @@ module VagrantPlugins
@env = {} @env = {}
@has_ssh = UNSET_VALUE @has_ssh = UNSET_VALUE
@image = UNSET_VALUE @image = UNSET_VALUE
@name = UNSET_VALUE
@links = [] @links = []
@ports = [] @ports = []
@privileged = UNSET_VALUE @privileged = UNSET_VALUE
@ -85,6 +92,7 @@ module VagrantPlugins
@env ||= {} @env ||= {}
@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
@privileged = false if @privileged == UNSET_VALUE @privileged = false if @privileged == UNSET_VALUE
@remains_running = true if @remains_running == UNSET_VALUE @remains_running = true if @remains_running == UNSET_VALUE
@vagrant_machine = nil if @vagrant_machine == UNSET_VALUE @vagrant_machine = nil if @vagrant_machine == UNSET_VALUE

View File

@ -27,6 +27,7 @@ describe VagrantPlugins::DockerProvider::Config do
its(:cmd) { should eq([]) } its(:cmd) { should eq([]) }
its(:env) { should eq({}) } its(:env) { should eq({}) }
its(:image) { should be_nil } its(:image) { should be_nil }
its(:name) { should be_nil }
its(:privileged) { should be_false } its(:privileged) { should be_false }
its(:vagrant_machine) { should be_nil } its(:vagrant_machine) { should be_nil }
its(:vagrant_vagrantfile) { should be_nil } its(:vagrant_vagrantfile) { should be_nil }