1. 安装Linux–Centos7
1.1 安装VirtualBox虚拟机
- 虚拟机是在一些开发测试工作中常常需要用到的功能,常见的虚拟机软件主要有两款
VMware
和VirtualBox
。VMware
是商付费软件,而VirtualBox
是免费软件,对于一般用用的话VirtualBox基本可以应付大多数情况了。这篇文章就讲讲VirtualBox
入门使用相关内容。
(1)电脑开启虚拟化
参考文章:
https://baijiahao.baidu.com/s?id=1750799364398119663&wfr=spider&for=pc
(2)VirtualBox虚拟机
安装地址:https://www.virtualbox.org/
步骤1:
步骤2:
步骤3:
- 下载文件直接安装即可(选择更换安装路径)
1.2 Vagrant
(1) Vagrant介绍:
Vagran
t 是⼀款⽀持⾃动化虚拟机安装、可配置流程的⽤于管理虚拟机的软件. 主要的优势在于可以提供⼀个可配置、可移植和复⽤的虚拟机环境 (通过定义Vagrantfile
, 类似Dockerfile
), 并且可以使⽤shell、chef、puppet 等⼯具进⾏部署. 这⾥要注意, Vagrant 并不能单独使⽤, 必须要在⾃⼰的电脑⾥安
装额外的虚拟机软件, ⽐如常⻅的虚拟机软件有:VirtualBox
、VMWare
等。
(2)Vagrant安装
步骤1:
https://www.vagrantup.com/downloads.html
步骤2:
- 下载的文件直接点击下载即可
步驟3:
- 检查vagrant是否安装成功:win11下打开cmd命令行输入vagrant,如下所示安装成功:
步骤4:
- ⾸先可以通过
Vagrant Cloud
⽹站去查找需要的镜像, 展示出来的标题就是 box 名称, ⽐如
centos/7 就是⼀个 box (可以简单理解为镜像)- Vagrant Cloud地址:
https://app.vagrantup.com/boxes/search
- Vagrant Cloud如下所示:
1.3 Linux(Centos7安装)
(1)开启VirtualBox
(2)打开Window的cmd(在自己指点的目录打开)
① 创建存放文件的目录
- 创建文件夹来存放Linux文件
- 在该文件夹打开cmd
② 生成Vagrantfile文件
vagrant init centos/7
- 在指定文件中生成如下文件:
- 执⾏如下命令, 启动虚拟机:
vagrant up
- 注意:执行的时间会有点长,当执行成功之后再VirtualBox的界面中可以展示改Linux
③ Linux安装并启动完成
- 虚拟机启动完成之后, 通过如下命令 ssh 登陆到虚拟机中 (默认的⽤户名和密码都是 vagrant,如上图中有的通过执⾏ halt 命令关闭虚拟机, destroy 命令销毁虚拟机
vagrant ssh
- 可以看到分配的地址:10.0.2.15/24
- 修改网络配置
- 这是win11的界面,win10 找也是差不多的,类似这个。
- 修改Vagrantfile
config.vm.network "private_network", ip: "192.168.56.20"
- 修改前
- 修改后
修改完成后,重启启动vagrant
- 检查是否修改成功
- Windows下打开cmd进行pingLinux修改之后的ip,通过Linux也pingWindows的本地ip,如图所示:
- 如图所示,表示网络配置修改成功
- 切换root账号
root账号的密码是vagrant
1.4. 安装docker(非root用户)
(1)安装教程
- 以下安装时非root用户,如果是root用户可以把sudo去除
https://www.runoob.com/docker/centos-docker-install.html
① 卸载旧版本
- 较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
② 安装 Docker Engine-Community
使用 Docker 仓库进行安装
- 在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker
设置仓库
- 安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
sudo yum install -y yum-utils
- 使用以下命令来设置稳定的仓库。
# 使用官方源地址(比较慢)
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 阿里云
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 清华大学源
sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
③ 安装 Docker Engine-Community
- 安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
④ 启动docker和设置开机自启动
#启动docker服务
sudo systemctl start docker
#linux每次启动之后都自动docker
sudo systemctl enable docker
1.5 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 配置
vi /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
注意:解决MySQL连接慢的问题
- 在配置文件中加入如下,并重启mysql
[mysqld]
skip-name-resolve
解释:
skip-name-resolve
:跳过域名解析
(4)通过容器的mysql命令行工具连接
docker exec-it mysql mysql-uroot-proot
(5)设置root远程访问
- 通过以上步骤连接mysql之后,进行如下操作:
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
(6)进入容器文件系统
docker exec-it mysql /bin/bash
1.6 Docker安装Redis
(1)下载镜像文件
docker pull redis:4.0
(2)创建实例并启动
#在linux主机上先创建指定的配置文件
mkdir-p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
# 运行拉取下的镜像
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服务就加载该配置文件
(3)使用redis镜像执行redis-cli命令连接
docker exec -it redis redis-cli
(4)解决redis低版本未持久化问题
- 进入/mydata/redis/conf/redis.conf配置文件中,添加appendonly yes即可,表示采用AOF进行持久化,修改配置之后重启服务。
appendonly yes