vagrant+virtualbox搭建centos7

超详细的 Vagrant 上手指南,搭建Linux虚拟机别再用VMware Workstation了!-阿里云开发者社区

一、Vagrant是构建在虚拟化技术之上的虚拟运行环境管理工具
1.建立和删除虚拟机
2.配置虚拟机运行参数
3.管理虚拟机运行状态
4.自动化配置和安装开发环境
5.打包和奋发虚拟机运行环境

二、Vagrant的运行,需要依赖某项具体的虚拟化技术
类似于Virtualbox 开源的虚拟化软件,是开源的
WMWare 是在后期加入进去的
简单来说 Vagrant是虚拟机管理工具而不是某项技术的虚拟化技术

Vagrant的作用:

个人角度:
1.是跨平台的
2.可移动的
3.自动化部署,无需人工参与
4.面试加分项

公司角度:
1.减少人力培训成本
2.统一开发环境

Vahrant适用范围:
1.开发环境
2.项目配置比较复杂

1、Vagrant

01 访问Vagrant官网
https://www.vagrantup.com/

02 点击Download
Windows,MacOS,Linux等

03 选择对应的版本

04 傻瓜式安装

05 命令行输入vagrant,测试是否安装成功

2、VirtualBox

01 访问VirtualBox官网
    https://www.virtualbox.org/

02 选择左侧的“Downloads”

03 选择对应的操作系统版本

04 傻瓜式安装

05 [win10中若出现]安装virtualbox快完成时立即回滚,并提示安装出现严重错误
    (1)打开服务
    (2)找到Device Install Service和Device Setup Manager,然后启动
    (3)再次尝试安装

3、下载centos7镜像创建虚拟机并启动(方式一)

(1)官网下载virtualbox.box文件

https://app.vagrantup.com/centos/boxes/7icon-default.png?t=N7T8https://app.vagrantup.com/centos/boxes/7(2)创建metadata.json并设置内容如下。把这个文件与下载回来的virtualbox.box文件放在同一下文件夹下。

 (3)在这个文件夹下打开cmd,执行vagrant box add metadata.json

(4)再重新打开看cmd 执行vagrant box list查看本地是否已有镜像

(5)在创建first-centos目录并在此目录下打开cmd,运行vagrant init centos/7

(6)执行vagrant up进行启动

   config.vm.provider "virtualbox" do |vb|
        vb.memory = "3000"
        vb.name= "liuqh-centos7"
        vb.cpus= 2
    end

4、下载centos7镜像创建虚拟机并启动(方式二)

01 创建centos7文件夹,并进入其中[目录全路径不要有中文字符]

02 在此目录下打开cmd,运行vagrant init centos/7
   此时会在当前目录下生成Vagrantfile,同时指定使用的镜像为centos/7,(关键是这个镜像在哪里,我已经提前准备好了,名称是virtualbox.box文件。我操作完03成功后,执行04时还是提示说本地找不到centos/7,还是会自动去下载,不知道是哪一步漏做造成的。所以我还是让他去下载了


03 将virtualbox.box文件添加到vagrant管理的镜像中(这个操作就是为了省时间,到时执行vagrant up的时候在本地就可以找到镜像就不会去下载了)
    (1)官网下载virtualbox.box文件https://app.vagrantup.com/centos/boxes/7icon-default.png?t=N7T8https://app.vagrantup.com/centos/boxes/7
    (2)保存到磁盘的某个目录,比如D:\virtualbox.box
    (3)添加镜像并起名叫centos/7:vagrant box add centos/7 D:\virtualbox.box
    (4)vagrant box list  查看本地的box[这时候可以看到centos/7]

       (5)执行vagrant up启动

5、常用命令

05 以后大家操作虚拟机,还是要在centos文件夹打开cmd窗口操作
    vagrant halt   优雅关闭
    vagrant up     正常启动
    
06 vagrant常用命令
    (1)vagrant ssh    
        进入刚才创建的centos7中
    (2)vagrant status
        查看centos7的状态
    (3)vagrant halt
        停止/关闭centos7
    (4)vagrant destroy
        删除centos7
    (5)vagrant status
        查看当前vagrant创建的虚拟机
    (6)Vagrantfile中也可以写脚本命令,使得centos7更加丰富
        但是要注意,修改了Vagrantfile,要想使正常运行的centos7生效,必须使用vagrant reload

6、 若想通过Xshell连接centos7

查看ip

 实际用下图的两种都是可以的

```
01 使用centos7的默认账号连接
    在centos文件夹下执行vagrant ssh-config
    关注:Hostname  Port  IdentityFile
    IP:127.0.0.1
    port:2222
    用户名:vagrant
    密码:vagrant
    文件:Identityfile指向的文件private-key
    
02 使用root账户登录
    vagrant ssh   进入到虚拟机中
    sudo -i
    vi /etc/ssh/sshd_config------------------这个要注意一下,别看成是ssh_config了
    修改PasswordAuthentication yes
    passwd修改密码,比如abc123
    systemctl restart sshd
    使用账号root,密码abc123进行登录

 7、box的打包分发

01 退出虚拟机
    vagrant halt

02 打包
    vagrant package --output first-docker-centos7.box
    
03 得到first-docker-centos7.box
    
04 将first-docker-centos7.box添加到其他的vagrant环境中
    vagrant box add first-docker-centos7 first-docker-centos7.box
    
05 得到Vagrantfile
    vagrant init first-docker-centos7

06 根据Vagrantfile启动虚拟机
    vagrant up [此时可以得到和之前一模一样的环境,但是网络要重新配置]

8、安装docker 

01 进入centos7
    vagrant ssh 或用xhell或用finalshell客户端连接登陆
    
02 卸载之前的docker
    sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
                  
03 安装必要的依赖
    sudo yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2
    
04 设置yum源 --------docker-ce官方源或阿里源只会是二选一的
    sudo yum-config-manager \
      --add-repo \
      https://download.docker.com/linux/centos/docker-ce.repo

或可执行阿里源

docker-ce阿里源:yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

05 安装docker
    sudo yum install -y docker-ce docker-ce-cli containerd.io

配置镜像加速:    
    [访问这个地址,使用自己的阿里云账号登录,查看菜单栏左下角,发现有一个镜像加速器:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors]


    
06 启动docker
    sudo systemctl start docker
    
07 测试docker安装是否成功
    sudo docker run hello-world
```

### 1.5.3 docker基本体验

```
01 创建tomcat容器
    docker pull tomcat
    docker run -d --name my-tomcat -p 9090:8080 tomcat

02 创建mysql容器
    docker run -d --name my-mysql -p 3301:3306 -e MYSQL_ROOT_PASSWORD=jack123 --privileged mysql
    
03 进入到容器里面
    docker exec -it containerid /bin/bash
```

### 1.5.4 可能有的疑惑

(1)docker pull在哪拉取的镜像?

​    默认是在hub.docker.com

(2)docker pull tomcat拉取的版本是?

​    默认是最新的版本,可以在后面指定版本":"

(3)简单先说一下命令咯

```
docker pull        拉取镜像到本地
docker run         根据某个镜像创建容器
-d                 让容器在后台运行,其实就是一个进程
--name             给容器指定一个名字
-p                 将容器的端口映射到宿主机的端口
docker exec -it    进入到某个容器中并交互式运行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值