玩转虚拟机
一:虚拟机的安装与下载
Centos7.9下载地址:http://ftp.sjtu.edu.cn/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso
其他版本自行选择:http://ftp.sjtu.edu.cn/centos/
二:配置虚拟机网络
查看ip地址命令 : ip addr
三:docker的安装
1、安装docker
yum -y install docker
-y表示不询问安装,直到安装成功,安装完后再次查看安装列表
2、启动docker
systemctl start docker
3、查看docker服务状态
systemctl status docker
以上说明docker安装成功
4、docker常用命令:
序号 | 功能 | 命令 |
---|---|---|
1 | 查看镜像 | docker images |
2 | 关闭容器 | docker stop 容器id号 |
3 | 重启容器 | docker restart 容器id号 |
4 | 删除容器 | docker rm 容器id号 |
5 | 进入容器 | docker exec -it 容器名 bash |
6 | 进入容器 | docker exec -it 容器名或容器Id /bin/bash |
7 | aaa | aaa |
四:通过docker安装nacos
注意:最新SpringCloud版本>=3.0.0需要下载的nacos-server必须>=2.x.x版本
1、查看支持的nacos镜像
docker search nacos
2、拉取镜像
docker pull nacos/nacos-server:2.0.3
3、查看拉取的镜像
docker images
4、创建nacos挂载的目录
mkdir -p /home/nacos/logs/ #新建logs目录
mkdir -p /home/nacos/conf/
vim /home/nacos/conf/application.properties #修改配置文件
配置文件内容如下:
注意:不通版本的nacos配置文件名称可能有差异,这里安装的nacos版本是2.0.3.
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://ip:端口号/数据库库名?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=数据库用户名
db.password=数据库密码
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true
5、启动容器几种方式
链接外部配置文件启动
docker run \
--name nacos -d \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /home/nacos/logs:/home/nacos/logs \
-v /home/nacos/conf/application.properties:/home/nacos/conf/application.properties \
nacos/nacos-server:2.0.3
直接参数启动:
docker run -d \
-e PREFER_HOST_MODE=ip \
-e JVM_XMS=128m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=**** \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=ry-nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=****/ \
-v /home/nacos/logs:/home/nacos/logs \
-p 8848:8848 \
--name nacos \
--restart=always \
nacos/nacos-server:2.0.3
6、查看运行的docker镜像
docker ps
7、在浏览器访问查看结果
登录地址:http://ip:port/nacos/index.html
账号:nacos
密码:nacos
能正常的登录表明配置成功。
五:通过docker安装redis
1、拉取redis镜像
# 不限定版本
docker pull redis
# 拉取 redis为4.0.9版本的镜像
docker pull redis:4.0.9
# 拉取之后查看镜像
docker images
2、创建redis需要的文件目录,并创建redis所需要的配置文件redis.cong
创建文件夹,新建配置文件贴入从官网下载的配置文件并修改。
mkdir -p /home/redis/conf/
mkdir -p /home/redis/data/
vim /home/redis/conf/redis.conf
redis.conf文件官网下载地址:https://download.redis.io/releases/
这里我下载的是跟镜像版本一致的4.0.9 的版本。
配置文件有几个地方需要做更改:
protected-mode no # 默认是yes,即开启。设置外部网络连接redis服务设置方式如下:
1、关闭protected-mode模式,此时外部网络可以直接访问
2、开启protected-mode保护模式,需配置bind ip或者设置访问密码
daemonize no # 容器启动时,这里必须设置成no,否则容器启动会失败。
appendonly yes # 开启AOF模式
requirepass ***** # 配置你redis的账号密码
3、启动镜像
docker run -p 6379:6379 --name redis01 -v /home/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data --privileged=true -d redis:4.0.9 redis-server /etc/redis/redis.conf --appendonly yes
1、-p 6378:6379 容器redis 端口6379 映射 宿主机未6378
2、–name redis01 容器 名字 为 redis01
3、 -v /home/redis/conf/redis.conf:/etc/redis/redis.conf 容器 /etc/redis/redis.conf 配置文件 映射宿主机 /home/redis/conf/redis.conf。 会将宿主机的配置文件复制到docker中。
重要: 配置文件映射,docker镜像redis 默认无配置文件
4、-v /home/redis/data:/data 容器 /data 映射到宿主机 /root/redis/redis01/data
5、-d redis 后台模式启动 redis
6、redis-server /etc/redis/redis.conf redis 将以 /etc/redis/redis.conf 为配置文件启动
7、 docker 的 privileged参数:大约在0.6版,privileged被引入docker。使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。甚至允许你在docker容器中启动docker容器。
8、–appendonly yes 开启redis 持久化
重要: docker 镜像reids 默认 无配置文件启动
查看镜像是否启动成功:
使用测试工具测试连接是否成功:
六:通过docker安装 MySQL
1、拉取镜像
docker pull mysql:5.7
## 2、查看拉取的镜像
docker images
3、创建mysql挂载的目录
mkdir -p /home/mysql/logs/ #新建logs目录
mkdir -p /home/mysql/conf/
mkdir -p /home/mysql/data/
vim /home/mysql/conf/my.cnf #修改配置文件
4、启动镜像:
docker run -d -p 3306:3306 --privileged=true -v /home/mysql/conf/my.cnf:/etc/my.cnf -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysql123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
参数说明:
- run run 是运行一个容器
- -d 表示后台运行
- -p 表示容器内部端口和服务器端口映射关联
- –privileged=true 设值MySQL 的root用户权限, 否则外部不能使用root用户登陆
- -v /home/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置
- -v /home/mysql/data:/var/lib/mysql 同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失
- -e MYSQL_ROOT_PASSWORD=mysql123456 设置MySQL数据库root用户的密码
- –name mysql 设值容器名称为mysql
- mysql:5.7 表示从docker镜像mysql:5.7中启动一个容器
- –character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设值数据库默认编码
5、登录数据库验证:
用数据库连接工具测试:
总结:SpringCloud服务启动报错问题解决办法:
远程连接nacos报错,please check server x.x.x.x ,port 9848 is available
当docker redis 中配置参数daemonize为yes时,启动失败原因
持续更新中 。。。。。。