目录
一、创建Vagrant相关环境
1.下载安装VirtualBox
下载地址
直接默认安装也行,如果不想放C盘重新选择一个盘符即可,直接无脑下一步就行。
2.在BlOS中设置CPU虚拟化
如果之前设置过请忽略。
3.使用Vagrant新建linux虚拟机
使用vagrant的好处就是创建虚拟机时不用每次都下一步下一步进行繁琐的安装,使用vagrant命令就可以大大简化我们的操作。它有官方的镜像仓库,里边有好多我们可以用的的镜像等等。
3.1下载Vagrant
下载地址
我是按照尚硅谷老师的版本进行安装的,大家可以选择适合自己的版本
安装win系统的64位版本
直接默认安装也行,如果不想放C盘重新选择一个盘符即可,直接无脑下一步就行。
3.2Vagrant官方镜像仓库
3.3使用Vagrant初始化一个centos7的虚拟机
在你的安装目录下进行cmd命令
执行第一条命令,初始化一个虚拟机
vagrant init centos/7
启动虚拟机
vagrant up
打开box软件,发现已经有一个虚拟机在运行了。
在软件上启动虚拟机和up命令也是一样的。
ssh连接虚拟机
默认不是root用户,切换root用户时,密码为vagrant
vagrant ssh
4.设置固定ip地址
查询虚拟机ip地址
ipconfig
把需要设置的ip地址放在192.168.56.xxx网段下。
编辑Vagrantfile文件,默认安装的话默认是在C盘(系统盘)
config.vm.network "private_network", ip: "192.168.56.10"
修改完重新启动虚拟机
vagrant reload
测试win主机和虚拟机是否正常通信
ping虚拟机
ping 192.168.56.10
注意!这里如果ping不通,首先检查配置Vagrantfile文件相关步骤是否正确执行,如果是之前能ping同后来ping不通了,如下内容只做参考
首先禁用调vmware的虚拟机网络(这是之前另一款虚拟机软件)
其次VirtualBox Host-Only Ethernet Adapter这个网络只有一个才对,之前我出现了两个。
如果出现了两个host-only,建议你卸载Oracle VM VirtualBox软件,然后重新安装即可解决。
如果就是一个网络,那么跟我来检查一遍设置
虚拟机ping,win主机
进入虚拟机ping自己的ipv4地址,这里不在赘述。
5.扩展常用linux命令
1.安装一个新的yum源(我是centos7系统)
先进行备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
2.下载阿里的源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
扩展一下repo相关知识
打开我们下载的文件
①[base]
表示:节名称,标识这个部分配置的是哪个仓库。base 是指基本的 CentOS 软件仓库
name
:这是仓库的描述性名称。其中 $releasever
和 $basearch
是变量,它们会被替换成实际的版本号和架构(例如,7 和 x86_64)。$releasever
通常表示 CentOS 的主版本号。
②failovermethod
:这是一个可选的参数,用于定义当多个 baseurl 定义时如何处理失败的连接。priority 方法表示当一个 baseurl 失败时,将按照优先级顺序尝试下一个 baseurl。
③baseurl
:这是仓库的基本 URL,用于下载软件包和元数据。这里定义了三个 baseurl,每个 URL 都包含 $releasever 和 $basearch 变量,它们会被实际的版本号和架构值替换。这三个 URL 分别指向阿里云的三个不同镜像站点。
④gpgcheck
:这是一个安全选项,表示在安装软件包之前,应该检查软件包的 GPG 签名。如果设置为 1,则启用检查;如果是 0,则禁用。
⑤gpgkey
:这是 GPG 公钥的 URL,用于验证软件包的签名。当你下载和安装软件包时,yum 会使用这个公钥来验证软件包的签名,确保其完整性和来源。
⑥enabled
:enabled=0,表示这个仓库是禁用状态,yum 或 dnf 在执行任何操作时(如 yum install, yum update, dnf upgrade 等)不会查询这个仓库。如果需要重新启用一个被禁用的仓库,只需要将 enabled 的值改为 1,然后运行 yum clean all 和 yum makecache来清除旧的缓存并创建新的缓存,以反映仓库状态的变化。
2024-7-11,使用这个镜像安装docker时部分包一直下载不下来
我框选的这些不是从docker的那个repo文件中下载的。
问题原因:有些url一直ping不通,有可能是阿里那边有调整吧,本人最后修改了一个repo文件,留下可以ping通。
完成内容如下,需要的同学自取
cd /etc/yum.repos.d
编辑CentOS-Base.repo文件
vim CentOS-Base.repo
修改后的完整内容,如果使用我的,修改完成后记得清除缓存重新生成缓存即可。
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
3.清除旧的缓存
sudo yum clean all
4.生成缓存
sudo yum makecache
5.验证旧的是否生效
sudo yum repolist
二、安装docker
1.按照docker
1.1首先切换到root用户
密码:vagrant
ru root
vagrant
执行删除命令,检查是否存在docker相关内容
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
yum remove docker-ce docker-ce-cli containerd.io
按照正常docker安装流程进行
步骤一 安装yum-utils
yum install -y yum-utils
步骤二设置镜像地址
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
步骤三更新yum软件包索引
yum makecache fast
步骤四安装DOCKER CE
yum -y install docker-ce docker-ce-cli containerd.io
步骤五启动docker
systemctl start docker
步骤六 查询docker状态
systemctl status docker
步骤七 设置开机自启
因为虚拟机每次都要开机关机,所以设置开机自启很重要,不然每次都得手动启动docker。
systemctl enable docker
三、docker安装一些中间件
1.mysql安装
下载mysql 5.7对应镜像
docker pull mysql:5.7
创建实例,并设置mysql密码123456
MYSQL_ROOT_PASSWORD参数后边设置你的密码
docker run --restart=always -d -p 3306:3306 --privileged=true \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
--name mysql mysql:5.7
查询运行的实例
docker ps
配置mysql的配置文件
cd /mydata/mysql/conf/
vi my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
重启mysql
docker restart mysql
使用sqlyog连接虚拟机中的mysql
2.redis安装
下载镜像
docker pull redis:5.0.5
创建目录
mkdir -p /app/redis
初始化redis.conf文件
touch /app/redis/redis.conf
运行redis实例
docker run --restart=always -p 6379:6379 --name redis --privileged=true \
-v /app/redis/redis.conf:/etc/redis/redis.conf \
-v /app/redis/data:/data \
-d redis:5.0.5 redis-server /etc/redis/redis.conf
进入redis中简单测试即可
docker exec -it redis /bin/bash
redis-cli
四、管理
1.查询vagrant管理的虚拟机
vagrant global-status
2.删除关联的虚拟机
需要在管理员身份下运行
vagrant destroy 对应id
例如
vagrant destroy 230c575
3.删除镜像
vagrant box remove 镜像name
例如
vagrant box remove centos/7
五、使用MobaXterm/xshell连接虚拟机
1.修改相关内容
cmd进入虚拟机
vagrant ssh
切换root用户
su root
修改参数值,找到 PasswordAuthentication 改为yes
vi /etc/ssh/sshd_config
重启ssh服务
systemctl restart sshd