1楼:匿名用户
原因不甚了解,google得到一个解决方法:
在vagrantfile配置文件中添加了两行**,使用明文用户名密码config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
重启解决。
我的vagrant 每次启动到 default: ssh auth method: private key 这一步就不动了
2楼:寒气袭人
添加box
如下添加一个debian的box
e:\ubuntu\vagrant-box-ngixn-php-fpm-mysql-redis-nodejs>vagrant box add debian p
ackage.box
==> box: adding box 'debian' (v0) for provider:
box: downloading: file://e:/ubuntu/vagrant-box-ngixn-php-fpm-mysql-redis-nod
ejs/package.box
box: progress: 100% (rate: 11.0m/s, estimated time remaining: --:--:--)
==> box: successfully added box 'debian' (v0) for 'virtualbox'!
vagrantfile
在任何vagrant工程下面都有一个vagrantfile,就像makefile一眼规,用来配置vagrant的欣慰所创建的虚拟机信息。
vagrant使用
添加镜像
vagrant box add abc boxpath[url|path] #abc未名称
开发到开发目录
vagrant init abc #初始化
d:\work\test>vagrant init debian
a vagrantfile has been placed in this directory. you are now
ready to vagrant up your first virtual environment! please read
the ***ments in the vagrantfile as well as documentation on
vagrantup.*** for more information on using vagrant.
vagrant up #启动
d:\work\test>vagrant up
bringing machine 'default' up with 'virtualbox' provider...
==> default: importing base box 'debian'...
==> default: matching mac address for nat ***working...
==> default: setting the name of the vm: test_default_1413449093680_48484
==> default: clearing any previously set ***work inte***ces...
==> default: preparing ***work inte***ces based on configuration...
default: adapter 1: nat
==> default: forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: booting vm...
==> default: waiting for machine to boot. this may take a few minutes...
default: ssh address: 127.0.0.1:2222
default: ssh username: vagrant
default: ssh auth method: private key
default: warning: connection timeout. retrying...
default: warning: connection timeout. retrying...
==> default: machine booted and ready!
==> default: checking for guest additions in vm...
==> default: mounting shared folders...
default: /vagrant => d:/work/test
vagrant ssh #ssh登录
d:\work\test>vagrant ssh
ssh executable not found in any directories in the %path% variable. is an
ssh client installed? try installing cygwin, mingw or git, all of which
contain an ssh client. or use your favorite ssh client with the following
authentication information shown below:
host: 127.0.0.1
port: 2222
username: vagrant
private key: c:/users/zhangwei_f/.vagrant.d/insecure_private_key
开启ssh后使用xshell登录
网络配置
vagrant的网络有三种模式
1、较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在vagrantfile中配置:
config.vm.***work :forwarded_port, guest: 80, host: 8080
guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。
开启这个后,如果vagrant已经启动了,在命令行输入 vagrant reload 重启机器,就可以再宿主机伤使用 localhost:8080来访问虚拟机的localhost:80 。
2、如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_***work,并为虚拟机设置ip ,在vagrantfile中配置:
config.vm.***work :private_***work, ip: "192.168.1.104"
192.168.1.104 表示虚拟机的ip,多台虚拟机的话需要互相访问的话,设置在相同网段即可
3、如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行dhcp,那么在vagrantfile中配置:
config.vm.***work :public_***work
目录映射:
既然是开发环境,那么开发工作肯定还是需要在本地完成,而不是都要进到虚拟机中去完成,虚拟机就好好在后台运行服务就好了,不然就本末倒置了,所以这里就需要使用目录映射功能,将本地的目录映射到虚拟机的对应目录。
默认情况下,当前的工作目录,会被映射到虚拟机的 /vagrant 目录,当前目录下的文件可以直接在 /vagrant 下进行访问,当然也可以在通过 ln 创建软连接,如
ln -fs /vagrant/wwwroot /var/www
来进行目录映射,当然,从自动化配置的角度,能不进系统就不需要进系统,所以在vagrant也可以进行目录映射的操作:
config.vm.synced_folder "wwwroot/", "/var/www"
前面的参数 “wwwroot/” 表示的是本地的路径,这里使用对于工作目录的相对路径,这里也可以使用绝对路径,比如: “d:/www/”
后面的参数 “/var/www” 表示虚拟机中对应映射的目录。
一些命令
vagrant up (启动虚拟机)
vagrant halt (关闭虚拟机——对应就是关机)
vagrant suspend (暂停虚拟机——只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用)
vagrant resume (恢复虚拟机 —— 与前面的暂停相对应)
vagrant destroy (删除虚拟机,删除后在当前虚拟机所做进行的除开vagrantfile中的配置都不会保留)
vagrant reload (重启)
vagrant ssh 登陆ubuntu 为什么每次都要输密码?并未在vagrantfile中配置password
3楼:匿名用户
先进入recovery mode,然后以root身份启动一个可启动的bash,最后进行root密码的设定,就ok了.详情可以去看一下vagrant ssh 登录突然需要输入密码的问题里面的内容
vagrant up 启动过程中的问题:如下描述,请问怎么解决呀? 100
4楼:匿名用户
**看不清 建议你去csdn看看。blog.csdn.***/ty_hf/article/details/78314583?locationnum=4&fps=1
5楼:匿名用户
我今天遇到好几次这问题了,而且换了几个不同的virtualbox版本都不行,后来网上查了一下,可能是virualbox有bug,关闭虚拟机要使用vagrant halt ,如果是直接在virualbox里面强制关闭虚拟机的话会导致错误。解决方式如下:vagrant halt ,然后vagrant up ,此时问题解决了
vagrant up启动报错,但是vagrant ssh还是能登陆虚拟机
6楼:开心一哥岁月
打开虚拟机里面的系统报错?两种可能:
第一种,上次打开虚拟机后,你直接关闭电源或常关机后,就无法再次打开虚拟机,提示加载什么错误,可以在虚拟机的系统目录下在,删除所有的lck文件夹后,重新开机再看看。
第二种,上次打开虚拟机后,把当前的操作系统“挂起该虚拟机”,挂起后,恢复不了,提示出错,这时,可以在虚拟机安装目录下,把挂起的文件(该文件的图标上有“暂停”的标识)删除后,重启虚拟机。