软件准备

下载、安装Virtual Box https://www.virtualbox.org/wiki/Downloads

下载、安装Vagrant https://www.vagrantup.com/downloads.html

注意:VirtualBox会与包括但不限于如下软件冲突,需要卸载这些软件,然后重启电脑;

冲突的软件:红蜘蛛、360、净网大师(有可能)等

vagrant:查看是否安装成功

vagrant init centos/7:初始化

这里有各种 Linux 镜像 https://app.vagrantup.com/boxes/search,选择自己需要的版本下载即可

初始化后,在当前用户文件夹下会有一个 Vagrantfile 文件

vagrant up:启动虚拟机

如果是第一次运行会先下载,请耐心等待

打开Virtual Box发现虚拟机已启动

vagrant ssh:使用命令行连接

网络配置

Virtual Box 默认使用网络地址转换(NAT)端口转发的方式,ip地址不固定、每个端口都得配置端口转发规则,用起来不方便

1、ipconfig 查看 ip 地址信息

2、编辑 Vagrantfile 文件35行,使其在同一网段

3、重启虚拟机:vagrant reload

4、测试:ping 192.168.56.10,成功即可

安装 docker

root 用户默认密码是 vagrant,如果不想每次都加 sudo 可以切换到 root 用户

官方文档:

https://docs.docker.com/install/linux/docker-ce/centos/

设置开机自启动:

sudo systemctl enable docker

阿里云镜像加速:

https://cr.console.aliyun.com/cn-beijing/instances/mirrors

查看是否配置成功:

sudo docker info

有以下信息即配置成功:

Registry Mirrors:
https://earblzdp.mirror.aliyuncs.com/

然后就可以愉快的使用 docker 了


2020.5.9更新:

设置使用密码登录

使用 vagrant 生成的虚拟机,当你使用 xshell 之类的工具连接时,是不需要密码的,为了安全起见,我们可以将其设置使用密码连接。

1、输入如下命令

vi /etc/ssh/sshd_config

2、将文件中 PasswordAuthentication no 改为 yes

3、重启服务

service sshd restart

网络连接失败

如果你的虚拟机无法连接网络(比如 ping www.baidu.com 失败),则进行如下配置

1、输入命令

vi /etc/sysconfig/network-scripts/ifcfg-eth1

2、添加如下信息

GATEWAY=192.168.56.1
DNS1=114.114.114.114
DNS2=8.8.8.8

3、重启网络

systemctl restart network.service

设置 yum 源

yum 下载太慢,可以更改 yum 源

1、备份原 yum 源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、设置为 163 的 yum 源,也可以配置其它源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

3、生成缓存

yum makecache

使用VirtualBox+Vagrant快速搭建Linux虚拟机环境的更多相关文章

  1. Virtualbox+UbuntuServer+Xshell搭建Linux开发环境

    需求背景 嵌入式开发环境以编译服务器(Linux系统)为核心, 开发人员较多使用Windows系统, 通过若干工具, 可以实现开发人员使用Windows的开发工具,编写代码,然后在Linux系统上编译 ...

  2. VMware 搭建linux虚拟机环境

    1.任务管理器-服务 确认VMware服务是否启动 2.VMware生成网关地址 编辑--虚拟网络编辑器 VMnet8 NAT设置子网IP,子网掩码,网关 3.windows网络--更改适配器设置-- ...

  3. Linux下快速搭建php开发环境

    php开发环境快速搭建 一.Linux下快速搭建php开发环境 1.安装XAMPP for Linux XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,使用XA ...

  4. WAMP Server助你在Windows上快速搭建PHP集成环境

    WAMP Server助你在Windows上快速搭建PHP集成环境 原文地址 我想只要爬过几天网的同学都会知道PHP吧,异次元的新版本就是基于PHP的WordPress程序制造出来的,还有国内绝大部分 ...

  5. CentOS 7快速搭建Nodejs开发环境

    Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好.学习Nodejs首先需要会安装环境.这里我介绍如 ...

  6. 9款一键快速搭建PHP运行环境的好工具

    9款一键快速搭建PHP运行环境的好工具 胡倡萌 2011/02/19 网络资源 77,063 1     内容提要: 建立一个PHP网站,首先需要搭建PHP的开发和运行环境,对于PHP初学者也是一个难 ...

  7. Vmware快速安装linux虚拟机(SUSE)

    安装环境:Vmware 11.SUSE11 64位 vmware快速安装linux虚拟机的过程还是比较简单的,步骤如下: 1.点击文件,新建虚拟机. 2.选择典型安装. 3.在红框中选择想要安装的虚拟 ...

  8. 基于 Jenkins 快速搭建持续集成环境--转

    源地址:http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础 ...

  9. Jenkins 快速搭建持续集成环境

    持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域 ...

随机推荐

  1. ubutu 12.04

    1.[系统设置]->[外观]->[行为]->[自动隐藏启动器],隐藏左侧边栏后,可以按快捷键[CTRL+a]弹出侧边栏. 2.QtCreator调试,提示[ptrace不允许的操作] ...

  2. treeselect 异步拿到数据后 要经过一个过滤 然后放入options 否则组件会崩溃

    事件缘由:由于城市树会反复调用,所以不用api每次调用,改用数据缓存一次读取,各处使用.然后我把调用的数据放入treeselect,发现组件就崩溃了,但是api读取的数据就没问题. 查看不是props ...

  3. yield 语法备忘录

    yield 语法备忘录     yield 语法备忘录 语法 .net yield 读作:“一有得” 英式发音 皮一下~ yield 关键字向编译器指示它所在的方法是迭代器块. 编译器生成一个类来实现 ...

  4. python基础--深浅拷贝copy

    拷贝是音译的词,其实他是从copy这个英文单词音译过来的,那什么是copy? copy其实就是复制一份,也就是所谓的抄一份.深浅copy其实就是完全复制一份,和部分复制一份的意思. 1.赋值运算 l1 ...

  5. jmeter3.3 接口压测入门和软件下载

    Jmeter3.3软件下载地址 https://download.csdn.net/download/qq_36625806/11076556 简单的使用教程 1.启动Jmeter 双击jemeter ...

  6. Python datetime 时间处理

    读入的时间数据是字符串格式,转换成datetime格式 data['time1'] = pd.to_datetime(data['time1'],format="%H:%M:%S:%f&qu ...

  7. Python批量修改Excel中的文件内容

    import osimport xlrdfrom xlutils.copy import copydef base_dir(filename=None):    return os.path.join ...

  8. coding++:Java读写到览器Cookies中

    首先我们认识下什么是cookies: cookie实际上是一个存在你硬盘里的数据,但是这些数据很特殊,只能由web应用提交给浏览器帮助存储,并且我们还能读取浏览器存在本地的cookie web应用一般 ...

  9. Go深入学习之select

    select的用法 1)select只能用于channel的操作(写入.读出),而switch则更通用一些 2)select的case是随机的,而switch里的case是顺序执行 3)select要 ...

  10. iOS pch

    Xcode6 之前会在 Supporting Files 文件夹下自动生成一个"工程名-PrefixHeader.pch"的预编译头文件,pch 头文件的内容能被项目中的其他所有源 ...