搭建虚拟机环境
本来想用阿里云来做的,但是阿里云续费太贵了,避免阿里云过期后需要重新配置环境,这里用
VirtualBox来搭建虚拟环境。
下载VirtualBox
下载&安装 VirtualBox https://www.virtualbox.org/,下载完成后,重启电脑,进入bios开启cpu虚拟化,
下载&安装Vagrant
vagrant是一个工具,用于创建和部署虚拟化开发环境的。Vagrant它底层支持VirtualBox、VMware甚至AWS**作为虚拟机系统。
拿VirtualBox举例,VirtualBox会开放一个创建虚拟机的接口,Vagrant会利用这个接口创建虚拟机,并且通过Vagrant来管理,配置和自动安装虚拟机。
https://app.vagrantup.com/boxes/search Vagrant 官方镜像仓库
https://www.vagrantup.com/downloads.html Vagrant 下载
检验vagrant是否安装成功
安装vagrant后重启系统,进入cmd模式输入vagrant,有以上提示既说明vagrant安装成功。
初始化centos7环境
打开 window cmd 窗口,运行 Vagrant init centos/7,即可初始化一个 centos7 系统。
运行 vagrant up 即可启动虚拟机。系统 root 用户的密码是 vagrant。(注意这个命令在哪个目录下执行的,他的Vagrantfile就生成在哪里)。
启动后出现default folder:/cygdrive/c/User/… =>/vagrant。然后ctrl+c退出
前面的页面中有ssh账号信息。
vagrant ssh
就会连上虚拟机。可以使用exit退出。
下次使用也可以直接vagrant up直接启动,但要确保当前目录在C:/用户/ 文件夹下,他下面有一个Vagrantfile,不过我们也可以配置环境变量。
启动后再次vagrant ssh
连上即可
配置虚拟机IP
1.打开cmd命令窗口,出入ipconfig查看虚拟网卡的ip地址
2.修改Vagrantfile
在Vagrantfile文件设置跟虚拟网卡在同一网段的ip地址:config.vm.network "private_network", ip: "192.168.56.10"
3.在cmd命令窗口使用vavgrant reload重启虚拟机
docker安装
Docker 安装文档:https://docs.docker.com/install/linux/docker-ce/centos/
1、卸载系统之前的 docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、安装 Docker-CE
安装必须的依赖
sudo yum install -y yum-utils \
device-mapper-persistent-data \
docker
lvm2
设置 docker repo 的 yum 位置
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装 docker,以及 docker-cli
sudo yum install docker-ce docker-ce-cli containerd.io
3、启动 docker
sudo systemctl start docker
4、设置 docker 开机自启
sudo systemctl enable docker
配置阿里云镜像加速
由于docker hub是国外的网站,拉取镜像十分缓慢,所以配置阿里云镜像加速,具体做法可参考网上资料,这里不列出来。
docker安装 mysql
1.下载镜像文件
docker pull mysql:5.7
2.创建实例并启动
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
参数说明
-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 用户的密码
3.mysql配置
因为启动docker的mysql时指定了容器卷,在linux主机上配置vi /mydata/mysql/conf/my.cnf
既可修改mysql配置
[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 docker restart mysql
通过容器的mysql命令行工具连接
docker exec -it mysql mysql -uroot -proot
4.进入容器文件系统
docker exec -it mysql /bin/bash
docker安装redis
1.下载镜像文件
不写标签默认拉去最新的
docker pull redis
2.创建实例并启动
如果直接挂载的话docker会以为挂载的是一个目录,所以我们先创建一个文件然后再挂载
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker pull redis
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
# 直接进去redis客户端。
docker exec -it redis redis-cli
默认是不持久化的。在配置文件中输入appendonly yes,就可以aof持久化了
vim /mydata/redis/conf/redis.conf
# 插入下面内容
appendonly yes
保存
docker restart redis