1.1 什么是vagrant:
Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。
1.2 下载并安装virtualbox;
下载地址:https://www.virtualbox.org/wiki/Downloads
1.3 下载并安装vagrant;
下载地址:https://www.vagrantup.com/downloads.html
1.4 cmd输入vagrant命令检查是否安装成功;
vagrant -v
1.5 通过vagrant安装虚拟机;
安装虚拟机之前先简单介绍下 Vagrant box:box 是一个打包好的操作系统,是一个后缀名为 .box 的文件,其实是一个压缩包,里面包含了 Vagrant 的配置信息和 VirtualBox 的虚拟机镜像文件。vagrant up 启动虚拟机是基于 box 文件的,因为在线安装下载box文件很慢,所以我提前下载box文件。
* 下载centos/7 box文件;
https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
* 给centos虚拟机创建文件夹,并进入该目录;
* 添加box
>vagrant box add centos/7 [文件路径或url]
* 初始化box,成功后会生成Vagrantfile
>vagrant init
* 启动虚拟机
>vagrant up
* vagrant连接虚拟机
>vagrant ssh
* 修改虚拟机初始密码
$sudo passwd root
1.6 vagrant 常用命令:
列出本地环境中所有的box
vagrant box list
添加box到本地vagrant环境
vagrant box add box-name(box-url)
更新本地环境中指定的box
vagrant box update box-name
删除本地环境中指定的box
vagrant box remove box-name
重新打包本地环境中指定的box
vagrant box repackage box-name
在空文件夹初始化虚拟机
vagrant init [box-name]
在初始化完的文件夹内启动虚拟机
vagrant up
ssh登录启动的虚拟机
vagrant ssh
挂起启动的虚拟机
vagrant suspend
重启虚拟机
vagrant reload
关闭虚拟机
vagrant halt
查找虚拟机的运行状态
vagrant status
销毁当前虚拟机
vagrant destroy
二、在虚拟机centos上安装Docker
参考Docker官方文档:https://docs.docker.com/install/linux/docker-ce/centos/;
2.1 卸载旧版本docker:这里注意需要超级管理员权限才能执行命令,可以使用whoami命令查看当前虚拟机的用户
$ sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
2.2 安装Docker CE:
#安装需要的包
$ sudo yum install -y yum-utils
device-mapper-persistent-data
lvm2
#安装repo
$sudo yum-config-manager
–add-repo
https://download.docker.com/linux/centos/docker-ce.repo
#安装DockerCE
$sudo yum install docker-ce docker-ce-cli containerd.io
之后进行一路yes就能安装成功
2.3 运行Docker
$ sudo systemctl start docker
$docker -v
查看docker里面已经有的镜像
docker imgaes
开机自启动的设置
sodu systemctl enable docker
给docker进行镜像加速
首先进入阿里云的官网,登录然后点击控制台
三、修改vagrant box默认保持路径
add box的时候默认保存在 C:\Users\xxx.vagrant.d
VAGRANT_HOME can be set to change the directory where Vagrant stores global state. By default, this is set to ~/.vagrant.d. The Vagrant home directory is where things such as boxes are stored, so it can actually become quite large on disk.
如果要节省C盘空间,通过设置VAGRANT_HOME环境变量改变默认位置
setx VAGRANT_HOME “X:/your/path”
setx VAGRANT_HOME “X:/your/path” /M (系统变量)
四、切换root用户
1
su root
默认密码 vagrant
docker快速安装mysql
1、镜像下载mysql服务
sudo pull mysql
(此指令默认下载最新版镜像,如果需要下载指定版本的镜像,则可以在服务后加冒号输入指定的版本号例如:sudo pull mysql:5.7)
创建实例并启动
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=1234
-d mysql:5.7
参数说明
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-v/mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v/mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v/ mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root初始化root用户密码
Mysql的配置
vi/mydata/mysqlconf/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
*注意:解决MySQL连接慢的问题在配置文件中加入如下,并重启mysql
[mysald]
skip-name-resolve
解释:
跳讨域名解析
重启mysql,docker restart mysql
docker快速安装Redis
第一步,从docker拉取redis的镜像
docker pull redis(不指定具体版本的时候会默认下载 最新版本 的redis)
第二步启动redis镜像,创建redis容器
首先先在虚拟机中创建一些文件方便后续可以将镜像的配置文件、端口等映射到虚拟机中的文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
接下来启动redis容器
docker run -itd -p 6379:6379 --name redis -v /mydata/redis/data:/data
-v /mydata/redis/conf/redis.conf:/etc/redis.conf
-d redis redis-server /etc/redis/redis.conf