1.使用VirtualBox + Vagrant
分别下载安装后,运行:vagrant init centos7 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box
后:vagrant up
登录: vagrant ssh
以下解决Vagrant磁盘爆满问题:
我们在vagrant所在的目录(huangjy40/)下创建一个名为backup的目录。
然后进入目录:
D:\MyData\用户\.vagrant.d\boxes\centos7\0\2004.01\virtualbox
找到该目录下的Vagrantfile文件,进行修改。
修改前:
Vagrant.configure("2") do |config|
config.vm.base_mac = "5254004d77d3"
config.vm.synced_folder ".", "/vagrant", type: "rsync"
end
修改后:
Vagrant.configure("2") do |config|
config.vm.base_mac = "5254004d77d3"
config.vm.synced_folder "./backup", "/vagrant", type: "rsync"
end
修改后,重启vagrant
2.登录后设置虚拟机IP: 查年windows的ipconfig ,找到virtualbox的虚拟网卡网关:如 192.168.56.1 ,则 虚拟机IP可设置为: 192.168.56.10 ,这个IP的设置位置是:c:/users/administrator/VagrantFile中的:config.vm.network "private_network", ip: "192.168.56.10"
修改后,执行: vagrant reload让设置生效。
3.虚拟机网络设置:
如果一直报:Could not resolve host: mirrorlist.centos.org; Unknown error,这一般是网卡没配置好,只要在VagrantFile 里面打开这一行,开启桥接模式:config.vm.network "public_network"
Vagrant (三) - 网络配置 - 简书
4.Docker安装及自启动
安装参考:Docker官方文档
先删除:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
之后:安装工具:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
第3步:sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
第4步,启动Docker :
sudo systemctl start docker
第5步:设置Docker自启动:
sudo systemctl enable docker
第6步:镜像加速
阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://b6qf0f6f.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
5.Docker 安装 Mysql
一:从Docker hub中拉取mysql :
sudo docker pull mysql:8.0
二:安装
sudo 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 \
-v /mydata/mysql/files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0
三:启动:docker start mysql 。查看运行中的容器:docker ps 。设置mysql自启动:
sudo docker update mysql --restart=always 查看mysql的日志:docker container logs mysql
四:进入容器:sudo docker exec -it mysql bash
五: 如果MYsql日志报错(加了-v /mydata/mysql/files:/var/lib/mysql-files \应该就不会报错): mysqld: Error on realpath() on ‘/var/lib/mysql-files’ (Error 2 - No such file or directory): 先删除container :sudo docker container rm mysql
再建 一个文件夹: mkdir mysql-files ,再输入命令:
sudo 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 -v /home/vagrant/mysql-files/:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=1234 -d mysql:8.0
解决mysqld: ‘/var/lib/mysql-files‘ (Error 2..._wslynn的博客-CSDN博客
六:如果远程连接时报错:docker Host is not allowed to connect to this mysql server,则先登录mysql容器:docker exec -it mysql bash
后执行:
use mysql;
update user set host='%' where user='root';
Grant all privileges on root.* to 'root'@'%'; #执行两次,mysql8.0以上版本分配权限不能带密码创建账号了,要先创建账号再设置权限
alter user root identified with mysql_native_password by '1234';
FLUSH PRIVILEGES;
6:安装 redis:
1)docker pull redis
2) 创建配置文件:
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
3)运行Docker
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
4)进入redis容器内:
docker exec -it redis redis-cli
5) 修改redis.conf ,增加 appendonly yes 作用是将存储改由内存改为持久化。
6) 查看挂载:docker inspect -f "{{.Mounts}}" 369a1376f78c
7)修改挂载:
先停止docker服务
systemctl stop docker.service(关键,修改之前必须停止docker服务)
后vi /var/lib/docker/containers/container-ID/config.v2.json
查看完整容器ID:docker ps --no-trunc
7.安装nacos:
拉取: sudo docker pull nacos/nacos-server
安装:sudo docker run -d --name nacos --env NACOS_AUTH_ENABLE=true --privileged=true \
-p 8848:8848 -p 9848:9848 -p 9849:9849 \
-e JVM_XMS=256m -e JVM_XMX=512m -e MODE=standalone \
-v /mydata/nacos/logs/:/home/nacos/logs -v /mydata/nacos/conf/:/home/nacos/conf/ \
--restart=always \
nacos/nacos-server
开关防火墙:
systemctl start firewalld (开启防火墙)
systemctl status firewalld (查看防火墙状态)
systemctl stop firewalld
开放端口:
1.添加指定需要开放的端口:
firewall-cmd --add-port=8848/tcp --permanent
2.重载入添加的端口:
firewall-cmd --reload
3.查询指定端口是否开放成功:
firewall-cmd --query-port=8848/tcp
8.安装Nginx
拉镜像:sudo docker pull nginx
运行:
sudo mkdir -p /mydata/nginx/conf/
sudo touch /mydata/nginx/conf/nginx.conf
sudo mkdir -p /mydata/nginx/conf.d
#启动容器
sudo docker run -d --name nginx nginx
# 拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录($PWD 当前全路径)
docker cp nginx:/etc/nginx/nginx.conf /mydata/nginx/conf
docker cp nginx:/etc/nginx/conf.d /mydata/nginx/conf
# 停止容器
docker container stop nginx
# 删除容器
docker container rm nginx
#部署容器
docker run -p 80:80 --name nginx -v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /mydata/nginx/conf.d:/etc/nginx/conf.d -v /mydata/nginx/html:/usr/share/nginx/html -v /mydata/nginx/logs:/var/log/nginx -d nginx
docker update nginx --restart=always