0%

vagrant使用

目前Vagrant只支持VirtualBox versions 4.0.x, 4.1.x, 4.2.x, 4.3.x, 5.0.x, 5.1.x, and 5.2.x. 其它版本不支持,大家的virtualbox如果不是这几个版本,请卸载重新安装
vagrant安装地址

创建centos/7虚拟机

1
vagrant init centos/7
  1. 可添加以下脚本自动按照docker

    1
    2
    3
    4
    5
    6
    7
    8
    #按照docker容器的预处理命令
    config.vm.provision "shell", inline: <<-SHELL
    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    sudo yum-config-manager -y --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum install docker-ce docker-ce-cli containerd.io
    sudo systemctl start docker
    SHELL
  2. 安装centos/7虚拟机
    vagrant up

  3. 连接Vagrantfile定义的虚拟机
    vagrant ssh

  4. 查看虚拟机状态
    vagrant status

  5. 停止虚拟机
    vagrant halt

  6. 删除虚拟机
    vagrant destroy

  7. 将vagrant添加到docker组,避免报权限错误
    sudo groupadd docker

  8. 添加vagrant到docker服务
    sudo gpasswd -a vagrant docker

  9. 重启docker服务
    sudo service docker restart

  10. 退出重连

    1
    2
    exit 
    vagrant ssh

常见问题及处理方法

  1. 修复vagrant创建的虚拟机报这个错

    1
    bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

    在虚拟机中打开环境文件 vim /etc/environment
    加入

    1
    2
    LC_ALL=en_US.UTF-8
    LANG=en_US.UTF-8

    或者 输入命令

    1
    sudo chmod 777 /etc/environment && sudo echo -e "LC_ALL=en_US.UTF-8 \nLANG=en_US.UTF-8" >> /etc/environment && sudo chmod 644 /etc/environment

    然后退出重新登录即可

  2. vagrant使用root用户登录
    可参照一下博客
    vagrant使用root用户登录
    注:
    在root用户修改sshd_config文件
    vim /etc/ssh/sshd_config
    修改 PermitRootLogin 值为 yes
    修改 PasswordAuthentication yes
    重启sshd服务
    systemctl restart sshd

  3. yum进程被占用
    可以通过强制关掉yum进程
    rm -f /var/run/yum.pid