1、关闭服务的局域网防火墙
2、为Vagrantfile文件设置公有网络(Public network)
3、如果还不行就在更改适配器设置中找到主机虚拟网卡VMnet1先禁用后重新启用,就相当于重启网卡,然后再重试。
公有网络(Public network),虚拟机享受实体机器一样的待遇,一样的网络配置,vagrant1.3版本之后也可以设定静态IP。设定语法如下:
config.vm.network "public_network", ip: "192.168.1.128"
参考博客:
https://blog.csdn.net/leonpengweicn/article/details/48263035
1)通过配置文件从官网拉取
在官方仓库中找到 centos/7, 打开地址 https://app.vagrantup.com/centos/boxes/7 或根据名字直接安装
在控制台窗口中使用命令 vagrant init centos/7 初始化系统
目录中生成Vagrantfile文件
D:\vagrant\jenkins>vagrant init centos/7
2)添加本地镜像,初始化box
1、https://app.vagrantup.com/centos/boxes/7
2、将下载好的CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box文件移动至D:\vagrant\centos目录下
3、执行 vagrant box add centos/7 virtualbox.box 后重新启动
# 添加centos7在本地镜像中
vagrant box add centos/7 d:/vagrant/centos/CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box
# 查看本地镜像
vagrant box list
4、在控制台窗口中使用命令 vagrant init centos/7 初始化系统,目录中生成Vagrantfile文件
D:\vagrant\jenkins>vagrant init centos/7
VAGRANTFILE_API_VERSION = "2" #定义版本
BOX_NAME = "centos7" #定义虚拟机镜像
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provider "virtualbox" do |v|
v.memory = 1024 #设置内存 (MB)
v.cpus = 4 #设置cpu数量
end
config.vm.define "node1" do |node1| #定义虚拟机
node1.vm.box = BOX_NAME #使用centos-7系统镜像
node1.vm.host_name = "node1" #设置hostname
node1.vm.network :private_network, ip: "192.168.56.101" #设置网络
node1.vm.synced_folder "./data", "/vagrant_data" #设置挂在目录
end
config.vm.define "node2" do |node2| #定义虚拟机第二台虚拟机
node2.vm.box = BOX_NAME
node2.vm.host_name = "node2"
node2.vm.network :private_network, ip: "192.168.56.102"
node2.vm.synced_folder "./data", "/vagrant_data"
end
end
启动
vagrant up
进入指定node1虚拟机
vagrant ssh node1
vagrant环境搭建
docker安装RabbitMQ
访问vagrant中的工程服务
vagrant下载地址:https://www.vagrantup.com/downloads.html
virtualbox下载地址:https://www.virtualbox.org/wiki/Downloads
官方仓库:https://atlas.hashicorp.com/boxes/search
官方镜像:https://vagrantcloud.com/boxes/search
第三方仓库:http://www.vagrantbox.es/
本文将采取centos7作为实验基础镜像
由于网络原因,在此提供下载百度云镜像地址centos7:https://pan.baidu.com/s/19mcMNhyHrCH0jwXTEMWitw
1.添加本地box(访问外网较快的请跳过此步骤)
在cmd窗口中,执行如下命令:
vagrant box add centos7 d:/iso/CentOS-7-x86_64-Vagrant-1804_02.VirtualBox.box
命令参考
# 说明:title 创建虚拟机的别名;url 是下载到本地box的路径,也可以是服务器端的URL,也可以是中央仓库的镜像名称。
vagrant box add {title} {url}
2.初始化box(选择其中一步)
找到需要存放该实例的位置,在cmd窗口中执行如下命令,本文存放在d:/vagrant
vagrant box list
vagrant init centos7
3.配置docker下载地址
执行第二步后,会有Vagrantfile文件生成。编辑该文件尾部加入
config.vm.provision "shell", inline: <<-SHELL
apt-get update
curl -s https://get.docker.com|sh
SHELL
说明:在SHELL内容中 可以写linux命令,读者可自定义,虚拟机启动后需要的步骤。本文只是下载了docker。
5.调整虚拟机内存大小
config.vm.provider "virtualbox" do |v|
v.memory = 3056
v.cpus = 2
end
在cmd窗口中,执行如下命令:
vagrant up
启动日志信息如下:
注:启动日志中包含了ssh连接信息以及用户名等等
在cmd窗口中,执行如下命令,连接上虚拟机:
vagrant ssh
接下来的步骤都是在该虚拟机中操作。
1.修改root密码
在cmd窗口中,执行如下命令,并输入新密码,切换到root用户下
sudo passwd
//.....输入两次新密码
su root
2.ssh配置
由于ssh默认是用ca认证,没开放密码验证,故有此步骤
vi /etc/ssh/sshd_config
将内容中的
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication no
改为
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
#PermitEmptyPasswords no
#PasswordAuthentication no
修改完成后,重启sshd.service服务
service sshd restart
接下来读者可以通过ssh工具连接该虚拟机。本文使用xshell。
3.docker配置
由于docker仓库在外网,国内访问较慢,故使用阿里云镜像加速。
在xshell连接该虚拟机,并在该窗口中执行如下命令:
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors":["https://vcmrfdsm.mirror.aliyuncs.com"]}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
4.设置开机自启docker
在xshell窗口中,执行如下命令:
systemctl enable docker
Vagrant命令
命令 | 作用 |
---|---|
vagrant box add | 添加box的操作 |
vagrant init | 初始化box的操作,会生成vagrant的配置文件Vagrantfile |
vagrant up | 启动本地环境 |
vagrant ssh | 通过ssh登录本地环境所在虚拟机 |
vagrant halt | 关闭本地环境 |
vagrant suspend | 暂停本地环境 |
vagrant resume | 恢复本地环境 |
vagrant reload | 修改了Vagrantfile后,使之生效(相当于先 halt,再 up) |
vagrant destroy | 彻底移除本地环境 |
vagrant box list | 显示当前已经添加的box列表 |
vagrant box remove | 删除相应的box |
vagrant package | 打包命令,可以把当前的运行的虚拟机环境进行打包 |
vagrant plugin | 用于安装卸载插件 |
vagrant status | 获取当前虚拟机的状态 |
vagrant global-status | 显示当前用户Vagrant的所有环境状态 |
查看仓库里的RabbitMQ
docker search rabbitmq
安装RabbitMQ
这里是直接安装最新的,如果需要安装其他版本在rabbitmq后面跟上版本号即可
docker pull rabbitmq
启动RabbitMQ
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq
安装插件
1、先执行docker ps 拿到当前的镜像ID
2、进入容器
3、安装插件
4、ctrl+p+q退出当前容器
docker ps
docker exec -it 镜像ID /bin/bash
rabbitmq-plugins enable rabbitmq_management
访问地址
127.0.0.1:15672,这里的用户名和密码默认都是guest
1、Vagrantfile编排文件中加入映射端口
config.vm.network "forwarded_port", guest: 8000, host: 8000
config.vm.network "private_network", ip: "192.168.10.100"
2、重启当前vagrant服务,记得把容器里的rabbitmq也重启
vagrant halt
在管理器中查看上边Vagrantfile编排是否生效,是否开启了网络端口映射
设置-》网络-》高级-》端口转发