一、安装 virtual Box
下载地址:Index of http://download.virtualbox.org/virtualbox
安装比较简单,双击 VirtualBox-6.1.26-145957-Win.exe,修改安装目录后即一直点击下一步即可完成安装。
在安装完成后,可以设置下修改默认存储路径,点击【管理】->【全局设定】
【常规】->【默认虚拟电脑位置】,修改成你想要设置的路径即可。
二、安装 vagrant
下载地址: Vagrant Versions | HashiCorp Releases
安装比较简单,双击 vagrant_2.2.18_x86_64.msi,修改安装目录后即一直点击下一步即可完成安装。
检查 vagrant 是否安装成功,打开 windows cmd 创建,输入 vagrant,出现如下所示即可。
Vagrant 安装完成以后会默认把 Home 目录设为 C:\Users\用户名\.vagrant.d
,然后所有的相关文件如 boxes 都会放在这里。所以我们需要把 Home 指向其它非系统分区的英文目录。其实很简单,只要设定 VAGRANT_HOME
环境变量就可以了。
Vagrant 命令详情
## machine管理 ##
vagrant init # 初始化,生成Vagrantfile,可指定box
vagrant up # 启动虚拟机,可指定machine
vagrant halt # 关闭虚拟机,可指定machine
vagrant reload # 重启虚拟机,并重新加载配置参数,可指定machine
vagrant ssh # SSH 至虚拟机,可指定machine
vagrant suspend # 挂起虚拟机,可指定machine
vagrant resume # 唤醒虚拟机,可指定machine
vagrant status # 查看虚拟机运行状态,可指定machine
vagrant destroy # 销毁当前虚拟机,可指定machine
vagrant suspend # 挂起当前的虚拟机
vagrant resume # 恢复前面被挂起的状态
## box管理 ##
vagrant box list # 查看本地box列表
vagrant box add # 添加box到列表
vagrant box remove # 从box列表移除
三、vagrant 安装 centos7
1、前期准备
首先,我们先去 vagrant 官网查看我们可以下载的 centos 的版本
本人是从网上先下载好的 box 文件【CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box】。
可以复制下载链接,使用迅雷下载,下载速度会快很多。
打开 cmd 窗口,切换目录到本地目录box文件所在目录
2、安装一:vagrant 初始化
执行 【vagrant box add】 添加centos box
vagrant box add centos7 ./CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box
执行【vagrant init】命令初始化一个虚拟机
vagrant init centos7
初始化后,【vagrant-box】目录下会多出一个Vagrantfile文件
启动虚拟机
vagrant up
若 vagrant up 命令失败,则可能是 vagrant 与 Virtual Box 不兼容导致,需要下载最新的 vagrant 与 Virtual Box 即可。
3、安装二:vagrant 配置私有网络
首先使用【ipconfig 】命令查看本机 Virtual box 的虚拟网络
将打开《Vagrantfile》并将 【config.vm.network "private_network"】注释打开,并将ip 网段修改(与Virtual box 的虚拟网络网段相同)
config.vm.network "private_network", ip: "192.168.56.56"
重启虚拟机,并重新加载配置参数
vagrant reload
4、安装四:网络检查
在virtualBox中可以看到有一个名为centos7虚拟机正在运行
执行【vagrant ssh】命令,登录虚拟机
vagrant ssh
centos 默认的账号密码
- vagrant / vagrant
- root / vagrant
执行【ip addr】可以查看到我们设置的私有网络 IP
windows 系统 与虚拟机可以互相ping通
四、linux 安装 docker
docker 仓库地址: https://hub.docker.com/
官网安装教程: https://docs.docker.com/engine/install/centos/
1、先卸载旧版本的一些内容
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
因为我们没有安装过,所以如下图
2、设置仓库的地址
安装依赖包之前,需要先安装依赖的包
sudo yum install -y yum-utils
设置仓库地址
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3、安装 docker 的引擎
sudo yum install docker-ce docker-ce-cli containerd.io
4、启动 docker
sudo systemctl start docker
启动成功后,运行 docker -v 检查docker 版本
docker -v
还可以运行 【docker images】查看 docker 安装了多少镜像
sudo docker images
5、设置 docker 开机自启动
sudo systemctl enable docker
6、配置 docker 阿里云镜像加速
登录 阿里云,点击控制台
点击【产品与服务】->【产品服务列表】->【容器镜像服务】
点击【镜像工具】->【镜像加速器】->【CentOS】
按照下面的指令进行操作。
首先创建一些目录
sudo mkdir -p /etc/docker
接下来,配置镜像加速器地址
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://oackyq07.mirror.aliyuncs.com"]
}
EOF
重启 docker 的守护进程
sudo systemctl daemon-reload
重启docker服务
sudo systemctl restart docker
五、docker 安装其他软件
在安装之前,首先执行 sudo,切换到系统管理员
sudo su
1、docker 安装 mysql
进入官网查看 需要下载的版本 https://hub.docker.com/_/mysql?tab=tags&page=1&ordering=last_updated
我下载的是 mysql 5.7
docker 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=root \
-d mysql:5.7
下图表示执行成功
参数说明:
- -p 3306:3306 :将容器的3306端口映射到主机的3306端口
- -v /mydata/mysql/log:/var/log/mysql :将日志文件挂载到主机(冒号前为linux目录,冒号后为容器目录)
- -v /mydata/mysql/data:/var/lib/mysql :将数据文件挂载到主机(冒号前为linux目录,冒号后为容器目录)
- -v /mydata/mysql/conf:/etc/mysql :将配置文件挂载到主机(冒号前为linux目录,冒号后为容器目录)
- -e MYSQL_ROOT_PASSWORD=root :初始化 root 用户的秒
docker ps
可以查看容器里面的进程
使用 SqlYong 连接数据库 ,连接成功。
【docker exec -it 】+ 容器名/容器ID +【/bin/bash】 ,可以进入容器里面
docker exec -it mysql /bin/bash
【exit】就可以退出docke容器。
修改mysql的配置文件
vi /mydata/mysql/conf/my.cnf
配置文件内容如下,保存退出。
[client]
# 对本地的mysql客户端的配置
default-character-set = utf8
# 对其他远程连接的mysql客户端的配置
[mysql]
default-character-set = utf8
# 本地mysql服务的配置
[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 restart mysql】重启mysql
docker restart mysql
查看 mysql 配置文件
进入 mysql 容器
docker exec -it mysql /bin/bash
查看 my.cnf 内容
cat /etc/mysql/my.cnf
看到下图内容说明,在虚拟机中修改的 my.cnf 已经同步到 mysql 容器的配置文件。
2、docker 安装 redis
下载 redis 最新的镜像文件
docker pull redis
创建虚拟机挂载的redis容器的配置目录
mkdir -p /mydata/redis/conf
创建虚拟机挂载的redis配置文件
touch /mydata/redis/conf/redis.conf
创建并启动实例
docker run -p 6379:6379 --name redis -v /mydata/data:/data -v /mydata/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
【docker ps】查看docker 实例
使用【redis-cli】客户端测试 redis
docker exec -it redis redis-cli
修改配置文件,使redis的数据持久化
vi /mydata/conf/redis.conf
appendonly yes
重启 redis 容器即可。