我们当前的系统环境是centos7,因此先更新yum源的配置,再去构建docker
# 1.安装yum扩展工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# 2.添加阿里云yum源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 3.更新缓存 + 构建docker
yum makecache fast;
yum -y install docker-ce;
# 4.配置docker的下载源,默认是docker的中央仓库,修改为个人的阿里云免费加速地址
vim /etc/docker/daemon.json;
#修改为以下内容
{
"registry-mirrors": ["https://w8fte2cl.mirror.aliyuncs.com"]
}
# 5.刷新全局配置,重启docker服务
systemctl daemon-reload;
systemctl restart docker;
此时docker已经构建完成,接着我们通过docker命令来构建Redis、Nacos以及Mysql5.7
Docker快速构建Mysql5.7实例
# 构建 mysql5.7
docker pull mysql:5.7;
# 1.启动mysql容器,并且将容器的名称修改为mysql-dev,并且配置默认root账号密码等基础信息
docker run --name mysql-dev -p 13306:3306 -e MYSQL_ROOT_PASSWORD=hearyou2021 -d mysql:5.7
# 2.进入mysql-dev实例,通过自带命令行机制,创建几个其他的用户账号
docker exec -it mysql-dev bash;
mysql -u root -p;
# 切换到系统数据库
use mysql;
# 给root账号设置为允许非localhost 的机器远程登录,并且设置远程登录的密码
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "hearyou2021";
# 刷新配置
flush privileges;
# 3.再去创建一个开发使用的账号
create user dev_admin;
GRANT ALL PRIVILEGES ON *.* TO dev_admin@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
#退出docker实例
exit;
exit;
此时我们可以通过远程连接测试一下是否能连接上,至此mysql实例构建完毕
Docker构建Redis实例
这里为了方便管理,我们要创建一个redis配置文件的目录,作为docker挂载映射的目录:
mkdir -p /home/redis/data;
mkdir -p /home/redis/redis.conf;
# 1.下载 redis镜像
docker pull redis;
# 2.运行并且挂载刚刚的外部文件目录,构建Redis实例
docker run -d --privileged=true -p 16379:6379 -v /home/redis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data --name redis-dev docker.io/redis:latest redis-server /etc/redis/redis.conf --appendonly yes --requirepass "hearyou2021"
这样我们就构建完成了,接着使用本地工具连接测试吧
Docker构建Nacos
Nacos作为阿里的新一代微服务产出的配置中心 和 服务注册中心,性能高效,支持大量微服务和分布式部署,支持存储在数据库,目前注册中心的首选
# 1.下载Nacos镜像 最新版已经是2.0版本了
docker pull nacos/nacos-server;
# 2.我们通过单机模式,启动Nacos
docker run --env MODE=standalone --name nacos-dev -p 18848:8848 -d nacos/nacos-server;
接着我们去在mysql中创建好一个nacos存储的库,用来持久化nacos的配置中心数据以及注册中心数据,其中对应版本的nacos-mysql.sql文件内容会有变动,可以去github中找到nacos项目,然后搜索该文件,根据该文件的sql在数据库中run一下,当然需要先创建数据库,这里我们的数据库就叫nacos-config
,当数据库和表构建完毕以后,就可以开启nacos的持久化配置了
# 1.进入nacos容器
docker exec -it nacos-dev bash
# 2.修改启动配置文件
vim conf/application.properties
# 3. 这里需要将spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM}修改为mysql持久化模式,并且这里我们是单数据源,因此修改设置db.num数量为1,并且将db.url.1的配置项注释,然后将db.url.0数据库连接池信息,db.user以及db.password等信息配置完毕后退出当前配置
spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:"mysql"}
db.num=${MYSQL_DATABASE_NUM:1}
db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST:172.17.0.2}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME:nacos_config}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true}
#db.url.1=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true}
db.user=${MYSQL_SERVICE_USER:dev_admin}
db.password=${MYSQL_SERVICE_PASSWORD:123456}
退出编辑并且退出容器以后,我们重启nacos实例(需要注意,必须是初始化的时候配置,如果Nacos有数据了,后续配置无法自动生效)
docker restart nacos-dev;
重启完毕以后,我们就可以访问Nacos的UI界面,来操作Nacos了,地址为:
http://ip:port/nacos/index.html
默认的账号/密码都是nacos