工欲善其事,必先利其器,开发环境和开发工具就是我们开发人员的剑,所以我们需要一个快并且好用的剑。本文是向大家介绍虚拟机创建vagrant,它能够实现开发人员本机快速创建虚拟机,能够带来高效学习各种技术价值。
1 Vagrant简介
1.1 vagrant百科
Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。
1.2 vagrant用处
vagrant是一款构建虚拟开发环境的工具,支持window,linux,mac,总有一款适合你。并且vagrant 可以把配置好的环境打包成一个box,分享给其他人直接使用,非常方便。
vagrant的精髓在一个Vagrantfile 里面,和docker的Dockerfile功能上一样。我们只需要把需要安装部署的步骤写在 Vagrantfile里面,便可以实现轻松部署。vagrant 还支持把当前系统做成一个.box 后缀命名的镜像,类似 docker 的 image,可轻松实现环境的移植。
2.虚拟环境
2.1官网查找最新版本
VirtualBox 虚拟器 : https://www.virtualbox.org/
Vagrant : http://www.vagrantup.com/
box(相当于基础linux镜像):https://app.vagrantup.com/boxes/search
先安装virtualbox 再安装vagrant,傻瓜式安装,安装完成后需要重启计算机
2.1本地安装实操
在cmd命令窗口输入 vagrant 命令弹出如下内容表示 vagrant 安装成功
通过Vagrant安装虚拟机:
创建一个空的目录,cmd切换到该目录中,然后执行vagrant init centos/7 会创建Vagrantfile文件
执行vagrant up第一次执行的时候会远程下相关的镜像文件,并启动虚拟机。
连接虚拟机通过vagrant ssh连接
网络配置:
找到对应的Vagrantfile文件
ipconfig查看当前主机给虚拟机分配的网关的网段:
VirtualBox 的ip地址是192.168.56.*,所以修改后的ip为:192.168.56.10(10为自定义,写100也行)
重点:修改完毕后,必须使用cmd命令vagrant up重新启动才能生效
重启后xshell测试:需要提供私钥
私钥地址:
2.3Xshell连接
su root切换用户
root默认密码vagrant,搞定!
3.Docker环境
参考官方文档安装:https://docs.docker.com/engine/install/centos/
卸载原有的环境:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装对应的依赖环境和镜像地址
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装过慢设置镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
直接安装docker CE
sudo yum install -y docker-ce docker-ce-cli containerd.io
表示安装成功
启动docker服务
sudo systemctl start docker
查看docker的版本
sudo docker version
补充:通过官方的镜像地址下载docker会比较慢,
配置阿里云的镜像地址:
cd /etc/docker/
vim daemon.json
{
"registry-mirrors": [
"https://aa25jngun.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
重启docker服务
sudo service docker restart
开机启动docker
sudo systemctl enable docker
4.基础软件安装
4.1mysql安装
项目软件统一安装在 /mydata 目录下
docker拉取镜像命令
docker pull mysql:5.7
docker安装MySQL命令
docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
修改MySQL的配置文件 vim /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect="SET collation_connection = utf8_unicode_ci"
init_connect="SET NAMES utf8"
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
设置容器自启动
docker update --restart=always mysql
补充:mysql官方提供的测试数据,方便自己学习练习:https://dev.mysql.com/doc/index-other.html
4.2redis安装
拉取Redis最新版本镜像
docker pull redis
先创建对应的Redis的映射配置文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
创建容器命令
docker run -d -p 6379:6379 --name mall-redis -v /mydata/redis/data:/data -v /mydata/redis/conf:/etc/redis redis redis-server /etc/redis/redis.conf
启动后测试连接,此处“4e”是容器前几个字母,根据实际情况变化:
docker exec -it 4e redis-cli
设置容器自启动
docker update --restart=always mall-redis
4.3nacos安装
拉取对应的镜像文件
docker pull nacos/nacos-server:1.4.2
通过镜像文件运行nacos容器
docker run -d --env MODE=standalone --name nacos -v /mydata/nacos/conf:/home/nacos/conf -p 8848:8848 nacos/nacos-server:1.4.2
启动容器后,测试访问:
http://192.168.56.100:8848/nacos 默认的账号密码:nacos nacos
重点:如果服务没有启动,查看镜像日志
docker logs nacos
安装中如果出现了如下的提示
文件上传到虚拟机中/mydata/nacos/conf目录下
📎nacos-logback.xml📎nacos-mysql.sql📎schema.sql