资讯专栏INFORMATION COLUMN

Vagrant 笔记

hyuan / 682人阅读

摘要:只要安装一个插件就可以启动的时候自动更新到最新了。先安装插件配置文件这行加入选项这个是虚拟机里的用户,比如是官方文档只是按以上设置后虚拟机里的文件夹和文件权限都是,不知道如何才能像默认共享那样使用来设置

Vagrant导入box文件时认证失败
 default: SSH auth method: private key
 default: Warning: Remote connection disconnect. Retrying...
 default: Warning: Remote connection disconnect. Retrying...
 default: Warning: Authentication failure. Retrying...

网上搜索了2种方法

编辑Vagrantfile
在里面添加
config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
使用用户名和密码登录之后,里面的login key会重设置
启动登录后,关掉虚拟机, 注释
# config.ssh.username = "vagrant"
# config.ssh.password = "vagrant"
a.打开终端 输入 ssh-keygen
然后系统提示输入文件保存位置等信息,连续敲三次回车即可,生成的SSH key文件保存在中~/.ssh/id_rsa;
b.ssh-add ~/.ssh/id_rsa 添加到证书列表;
c.在Vagrantfile文件添加
config.ssh.private_key_path = “~/.ssh/id_rsa”
config.ssh.forward_agent = true
用于vagrant ssh连接认证
d.在虚拟机~/.ssh/authorized_keys文件中追加本地机器”~/.ssh/id_rsa.pub”文件里面的内容;
e.vagant reload重启虚拟机就可以正常连接了

Vagrant更新VirtualBox Guest Additions到最新版本

升级Virtualbox到最新版本(5.1)后,up的时候提示VirtualBox Guest Additions版本低于当前Virtualbox版本。只要安装一个vagrant插件就可以启动的时候自动更新VirtualBox Guest Additions到最新了。
vagrant plugin install vagrant-vbguest

https://coderwall.com/p/mvf0a...


默认共享设置所有者、所属组和文件权限

Vagrantfile默认使用的是Virtualbox的共享,所以登录到虚拟机以后权限都是777,如果更改可以使用下面配置

    config.vm.synced_folder "../Code", "/srv/code",
      :owner: "www", :group: "www", #设置虚拟机文件所属者和所属组
      :mount_options => ["dmode=775", "fmode=664"] #设置文件权限

这里有个问题,默认是使用vagrant登录的,如果在挂载的目录里进行操作的话,可以把vagrant加到www用户组里或者切到root.


配置NFS

在Win下使用nfs也没怎么感觉有多快,目前来说默认的共享已经够用。

* 先安装nfs插件`vagrant plugin install vagrant-winnfsd`
* 配置Vagrantfile文件
  config.vm.synced_folder "../Code", "/srv/code", type: "nfs" #这行加入nfs选项
  config.nfs.map_uid = 1002 #这个是虚拟机里的用户id,比如www是1002
  config.nfs.map_gid = 1002
> 官方文档https://www.vagrantup.com/docs/synced-folders/nfs.html

PS:只是按以上设置后虚拟机里的文件夹和文件权限都是777,不知道如何才能像默认共享那样使用mount_options来设置

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30280.html

相关文章

  • Laravel学习笔记一-开发环境搭建

    摘要:配置需要一个来用于与虚拟机进行连接,默认假定这个密钥会被放在文件夹下。三使用管理项目版本使用可以对我们的代码进行版本控制,如果万一误删了代码想回到之前的情况,则可以通过版本控制进行回滚。配置选项代表对进行全局设置。 laravel学习笔记,重新梳理知识点。 一、环境配置 1、编辑器选用 Atom PHPStorm SublimeText Atom 是由 GitHub 官方在 201...

    Galence 评论0 收藏0
  • docker笔记1----Get Docker

    摘要:资源官网资源资源版本的安装参考这个资源安装参考这个资源阿里云开发者平台资源阿里云镜像加速器资源中文版资源参考学习安装时间第步卸载旧版本的手工删除里面有图象容器卷和网络现在的名字叫第步安装第步安装官方的 资源01: Docker官网资源02: Docker Store资源03: Ubuntu版本的Docker安装(参考这个)资源04: Docker-compose安装(参考这个) 资源...

    bawn 评论0 收藏0
  • Laravel学习笔记之bootstrap源码解析

    摘要:总结本文主要学习了启动时做的七步准备工作环境检测配置加载日志配置异常处理注册注册启动。 说明:Laravel在把Request通过管道Pipeline送入中间件Middleware和路由Router之前,还做了程序的启动Bootstrap工作,本文主要学习相关源码,看看Laravel启动程序做了哪些具体工作,并将个人的研究心得分享出来,希望对别人有所帮助。Laravel在入口index...

    xiaoxiaozi 评论0 收藏0
  • docker笔记2---docker-nginx-php-mysql使用记录

    摘要:代码托管准备工作先安装好软件删除所有容器和镜像代码克隆在上到自己的库中导入到码云中还是码云上快看下有哪些文件 docker-nginx-php-mysql代码托管 准备工作 先安装好软件: git,     docker,    docker-compose 删除所有容器和镜像 $ docker stop $(docker ps -q) && docker rm $(docker p...

    lewif 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<