我们当前的系统环境是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.更新缓存 + 构建dockeryum 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.7docker 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.我们通过单机模式,启动Nacosdocker 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
