windows上使用vagrant与访问vagrant中的工程服务

开启公网使得局域网内的其他机器也可访问vagrant服务

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

Vagrant 安装 centos7

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
windows上使用vagrant与访问vagrant中的工程服务_第1张图片
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环境搭建

环境搭建准备工作

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

二.添加本地镜像,初始化box,配置docker下载地址,启动本地环境

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

如图所示
windows上使用vagrant与访问vagrant中的工程服务_第2张图片

说明:在SHELL内容中 可以写linux命令,读者可自定义,虚拟机启动后需要的步骤。本文只是下载了docker。

4.设置IP地址
windows上使用vagrant与访问vagrant中的工程服务_第3张图片

windows上使用vagrant与访问vagrant中的工程服务_第4张图片

5.调整虚拟机内存大小

config.vm.provider "virtualbox" do |v|
  v.memory = 3056
  v.cpus = 2
end

4.启动本地环境

在cmd窗口中,执行如下命令:

vagrant up

启动日志信息如下:
注:启动日志中包含了ssh连接信息以及用户名等等

windows上使用vagrant与访问vagrant中的工程服务_第5张图片

三.修改root密码,ssh配置,docker配置,并设置开机自启docker

在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的所有环境状态

第二部分:docker安装RabbitMQ

查看仓库里的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

访问vagrant中的工程服务

1、Vagrantfile编排文件中加入映射端口

 config.vm.network "forwarded_port", guest: 8000, host: 8000
 config.vm.network "private_network", ip: "192.168.10.100"

windows上使用vagrant与访问vagrant中的工程服务_第6张图片

windows上使用vagrant与访问vagrant中的工程服务_第7张图片

2、重启当前vagrant服务,记得把容器里的rabbitmq也重启

vagrant halt

在管理器中查看上边Vagrantfile编排是否生效,是否开启了网络端口映射
设置-》网络-》高级-》端口转发
windows上使用vagrant与访问vagrant中的工程服务_第8张图片

访问vagrant中的工程服务

windows上使用vagrant与访问vagrant中的工程服务_第9张图片

你可能感兴趣的:(开发工具,windows,vagrant,docker)