vagrant + vmware 创建centos7虚拟机

安装vagrant环境

1.安装vagrant
vagrant是一款用于管理虚拟机的命令行实用软件,方便虚拟机的创建与管理。
官网下载,Install | Vagrant | HashiCorp Developer
验证,vagrant -v
查看 Vagrant 当前所有已安装系统,vagrant global-status
2.安装vmware-utility
下载地址,Install | Vagrant | HashiCorp Developer

3.下载vmware-desktop插件

vagrant plugin install vagrant-vmware-desktop

使用vagrant镜像

5.添加镜像到 Vagrant
下载镜像
添加镜像到虚拟机,vagrant add [name] path/url
新建虚拟机,vagrant init
启动虚拟机,vagrant up
登录虚拟机,vagrant ssh

#下载镜像centos7-box
https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7-x86_64-Vagrant-2004_01.VMwareFusion.box
#添加镜像
#vagrant box add [box-name] [box镜像文件或镜像名]
vagrant box add centos-7 C:\Users\root\Downloads\CentOS-7-x86_64-Vagrant-2004_01.VMwareFusion.box
#查看镜像
vagrant box list
#添加的box 路径 C:\Users\root\.vagrant.d\boxes
#删除镜像
vagrant remove centos-7
#初始化镜像生成虚拟机
mkdir centos7
cd centos7
vagrant init centos-7
#启动虚拟机
vagrant up --provider vmware_desktop

6.关闭虚拟机

关闭,vagrant halt
重启,vagrant reload
挂起,vagrant suspend
唤醒,vagrant resume
查看状态,vagrant status
销毁当前虚拟机,vagrant destroy

优化vagrant配置文件

7.修改box配置文件,vagrant reload
初始化完成后在centos7生产一个Vagrantfile文件,编辑

# -*- mode: ruby -*-
# vi: set ft=ruby :


Vagrant.configure("2") do |config|
  config.vm.box = "centos-7"
  config.vm.disk :disk, name: "backup", size: "10GB" # 设置最大磁盘占用
  config.vm.provider "vmware_desktop" do |vb|
    # Display the VirtualBox GUI when booting the machine
    vb.cpus = 2 # 设置cpu核数
    vb.memory = "2048" # 设置最大内存
  end
end

网络模式

vagrant的网络的三种模式:端口映射,私有网络,公开网络。

#端口映射,guest:80 表示虚拟机80端口
config.vm.network :forwarded_port, guest: 80, host: 8080

#私有网络
 config.vm.network :private_network, ip: "192.168.1.104"

#公开网络
config.vm.network :public_network

目录映射

默认的,主机工作目录(Vagrantfile所在的目录)到虚拟机中的/vagrant,

Vagrant.configure("2") do |config|
  config.vm.synced_folder "src/", "/srv/website"
end

“src/“:物理机目录;”/srv/website”虚拟机目录

注:如果网络模式中使用 private_network 的话,
在打包之前需要清除一下private_network的设置,避免不必要的错误:

集成预安装

config.vm.provision "shell", inline: <<-SHELL
   apt-get update
   apt-get install -y apache2
SHELL

也可以编写bootstrap.sh文件,config.vm.provision "shell", path: "bootstrap.sh" # 添加这行
其他配置参考:
Vagrantfile | Vagrant | HashiCorp Developer

8.登录虚拟机

vagrant ssh #默认会创建两个用户root和vagrant,密码都是vagrant
vagrant创建的虚拟机默认禁止ssh使用密码认证的方式登录,而是使用公钥认证方式。
方法一:修改ssh配置

#修改ssh
sudo vi /etc/ssh/sshd_config
# Authentication
PermitRootLogin yes
PubkeyAuthentication yes
#To disable tunneled
PasswordAuthentication yes
#重启ssh服务
sudo systemctl restart sshd

方法二:使用私钥登录;private_key
查询私钥路径,vagrant ssh-config
远程连接器,ip addr,SmarTTY,

9.生产镜像

vagrant halt
vagrant package –out centos7
vagrant box list

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值