【Linux】Vagrant搭建Linux环境

1. Vagrant

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。

1.1 安装Vagrant

Vagrant官网下载安装包,执行安装。

1.2 安装VirtualBox

从官网下载VirtualBox,执行安装,设置虚拟机的安装位置,默认会安装在C盘,避免系统盘资源占用。

1.3 注册Vagrant引导文件

box是Vagrant环境的包格式。您可以在Vagrantfile中指定一个box环境和操作配置。您可以在任何受支持的平台上使用一个box来启动相同的工作环境。为了使团队能够使用和管理相同的盒子,支持版本。

最快的入门方法是从Vagrant Cloud上的公开目录中选择一个预定义的盒子环境。您还可以在Vagrant Cloud上添加和共享您自己的定制盒子。

这里安装Centos7,可以从Vagrant Cloud中找到对应的安装步骤,

打开cmd,执行上述命令,会在C:/User/DoGH目录下创建一个vagrantfile文件,Vagrant会以该文件为引导,创建系统。

bash 复制代码
vagrant init centos/7
vagrant up

执行vagrant up自动安装并启动centos系统。

第一次需要下载系统所以较为缓慢。

等待启动完成后,可以在VirtualBox中看到该虚拟机的配置信息。

当下次需要启动虚拟机时,可以在cmd中执行vagrant up命令启动虚拟机或在VirtualBox中直接启动和关闭。

2. 用户管理

Vagrant创建的虚拟机自带一个普通用户vagrant密码也是vagrant,在cmd中也可以通过vagrant ssh命令自动登录该用户,

在默认情况下,使用ssh连接工具访问虚拟机时需要身份文件和密码双重登录,这里可以在cmd中输入vagrant ssh-config命令,打印他的ssh连接信息,

复制代码
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/DoGH/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL
  PubkeyAcceptedKeyTypes +ssh-rsa
  HostKeyAlgorithms +ssh-rsa

IdentityFile就是身份文件的位置,选择该文件,在输入用户名和密码即可登录vagrant用户。

在登录了虚拟机后,切换至root用户,并设置登录密码

bash 复制代码
# 切换至root用户
sudo -i

# 设置密码
passwd

为了能直接使用用户名密码登录虚拟机,需要修改/etc/ssh/sshd_config文件,开启该两项配置。

bash 复制代码
PermitRootLogin yes
PasswordAuthentication yes

该文件需要root用户登录才能被修改。

3. 配置网络

Vagrant为如何将客户机连接到网络提供了多种选择,但是有一个标准的使用模式,以及所有网络配置的一些共同点,这些都很重要,需要了解。

所有网络都在Vagrantfile中使用config.vm.network方法调用进行配置。例如,下面的Vagrantfile定义了一些端口转发:

ruby 复制代码
Vagrant.configure("2") do |config|
  # ...
  config.vm.network "forwarded_port", guest: 80, host: 8080
end

这里固定虚拟机的IP地址,如下

ruby 复制代码
Vagrant.configure("2") do |config|
  config.vm.network "public_network", ip: "192.168.56.10"
end

这里IP的规划要与本机的Virtual虚拟网卡地址在统一网段。

保存Vagrantfile,重启虚拟机(vagrant reload),虚拟机的网络配置就已发生了改变。

相关推荐
旺仔.29113 分钟前
Linux系统基础详解(二)
linux·开发语言·网络
x***r15114 分钟前
Notepad++ 8.6 安装教程:详细步骤+自定义安装路径(附注意事项)
linux·前端·javascript
big_rabbit050218 分钟前
JVM堆内存查看命令
java·linux·算法
王小义笔记1 小时前
WSL(Linux)如何安装conda
linux·运维·conda
偷懒下载原神1 小时前
【linux操作系统】信号
linux·运维·服务器·开发语言·c++·git·后端
源远流长jerry1 小时前
RDMA 传输服务详解:可靠性与连接模式的深度剖析
linux·运维·网络·tcp/ip·架构
AMoon丶1 小时前
Golang--垃圾回收
java·linux·开发语言·jvm·后端·算法·golang
Densen20142 小时前
发布blazor应用到Linux, 使用nginx作为WebSocket代理
linux·websocket·nginx
相思难忘成疾2 小时前
RHEL9 文件管理与 vi/vim 编辑操作实验
linux·编辑器·vim
朱一头zcy2 小时前
Linux系列02:网络配置、修改hosts映射文件、关闭防火墙
linux·运维·网络