当前位置: 首页 > 知识库问答 >
问题:

如何更改“默认”机器名?

董元徽
2023-03-14

当启动一个流浪者盒子时,“默认”这个名字来自哪里?

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...

有没有办法设定这个?

共有3个答案

任云瀚
2023-03-14

我通过在Vagrant文件中定义来指定名称,还指定了主机名,这样我就可以在独立于设备操作系统执行Linux命令的同时看到项目的名称。✌️

config.vm.define "abc"
config.vm.hostname = "abc"
李耀
2023-03-14

这就是我为每个虚拟机分配名称的方式。将yourname here更改为所需的名称。

Vagrantfile的内容:

Vagrant.configure("2") do |config|

  # Every Vagrant virtual environment requires a box to build off of.
  config.vm.box = "precise32"

  # The url from where the 'config.vm.box' box will be fetched if it
  # doesn't already exist on the user's system.
  config.vm.box_url = "http://files.vagrantup.com/precise32.box"

  config.vm.define :YOURNAMEHERE do |t|
  end

end

终端输出:

$ vagrant status
Current machine states:

YOURNAMEHERE             not created (virtualbox)
鲁鹏
2023-03-14

我发现多个选项令人困惑,所以我决定测试所有选项,看看它们到底做了什么。

我使用的是VirtualBox 4.2.16-r86992和Vagrant 1.3.3。

我创建了一个名为nametest的目录并运行

vagrant init precise64 http://files.vagrantup.com/precise64.box

生成默认的Vagrantfile。然后我打开了VirtualBox GUI,这样我就可以看到我创建的框会显示为什么名称。

>

  • 默认的Vagrantfile

    Vagrant.configure('2') do |config|
        config.vm.box = "precise64"
        config.vm.box_url = "http://files.vagrantup.com/precise64.box"
    end
    

    VirtualBox GUI名称:“nametest_default_1386347922”

    注释:名称默认为DIRECTORY_default_TIMESTAMP格式。

    定义VM

    Vagrant.configure('2') do |config|
        config.vm.box = "precise64"
        config.vm.box_url = "http://files.vagrantup.com/precise64.box"
        config.vm.define "foohost"
    end
    

    VirtualBox GUI Name:"nametest_foohost_1386347922"

    注释:如果显式定义VM,使用的名称将替换令牌默认值。这是控制台上输出的名称流浪者。基于zook的(评论者)输入进行简化

    设置提供者名称

    Vagrant.configure('2') do |config|
        config.vm.box = "precise64"
        config.vm.box_url = "http://files.vagrantup.com/precise64.box"
        config.vm.provider :virtualbox do |vb|
            vb.name = "foohost"
        end
    end
    

    VirtualBox GUI名称:“foohost”

    备注:如果在提供者配置块中设置了name属性,则该名称将成为VirtualBox GUI中显示的完整名称。

    组合示例:定义VM和设置提供程序名称

    Vagrant.configure('2') do |config|
        config.vm.box = "precise64"
        config.vm.box_url = "http://files.vagrantup.com/precise64.box"
        config.vm.define "foohost"
        config.vm.provider :virtualbox do |vb|
            vb.name = "barhost"
        end
    end
    

    VirtualBox GUI Name:"barhost"

    注释:如果同时使用两个方法,则在提供程序配置块中分配给name的值获胜。基于zook的(注释器)输入进行简化

    设置主机名

    Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
      config.vm.hostname = "buzbar"
    end
    

    注释:这将在VM中设置主机名。这将是VM中host name命令的输出,这也是在提示符中可见的内容,如流浪者@

        Vagrant.configure('2') do |config|
            config.vm.box = "precise64"
            config.vm.box_url = "http://files.vagrantup.com/precise64.box"
            config.vm.hostname = "buzbar"
            config.vm.define "foohost"
            config.vm.provider :virtualbox do |vb|
                vb.name = "barhost"
            end
        end
    

    就是这样。你现在知道了3种不同的选项,你可以设置和效果。我想这是一个偏好的问题?(我是流浪者的新手,所以我还不能谈论最佳实践。)

  •  类似资料:
    • 问题内容: 尝试更改列的数据类型并设置新的默认值时遇到以下错误: 错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在第1行的’VARCHAR(255)NOT NULL SET DEFAULT’{}’‘附近使用正确的语法 问题答案: 同样的第二种可能性(感谢juergen_d):

    • 在尝试更改列的数据类型并设置新的默认值时,我遇到以下错误: 错误1064(42000):您的SQL语法中有错误;查看与您的MySQL server版本相对应的手册,以了解第1行“varchar(255)NOT NULL SET DEFAULT”{}“附近使用的正确语法

    • 问题内容: 当我运行docker时,下载的docker映像(似乎是)存储在某个地方。 由于该目录上的磁盘空间有限,因此我要同时将docker设置到多台机器上;有没有办法将此默认位置更改为ie ? 问题答案: 您可以使用option和您选择的目录来启动Docker守护程序。这将为Docker设置适当的运行时。 对于1.8版,应该是这样的: 对于早期版本,它将是: 从手册页:

    • 问题内容: 我使用IntelliJ IDEA作为开发环境,并使用Maven进行依赖项管理。我经常在IDEA之外构建我的项目结构(目录,poms等),然后使用将该项目导入。这很好用,除了在poms中我指定maven-compiler-plugin应该使用JDK 1.6,并且在导入时,IDEA通知我和,然后提示重新加载项目。这很烦人,因为我总是使用相同的JDK版本。 如何更改IntelliJ IDEA

    • xampp中的php.ini文件位于此处: phpinfo包含以下信息: 配置文件(php.ini)路径C:\WINDOWS 已加载的配置文件(无) 扫描此目录以获取更多信息。ini文件(无) 如何更改目录?

    • 我如何更改IntelliJ IDEA使用的默认JDK,这样我就不必在每次导入新项目时重新加载我的项目了?