Docker 下部署nacos (配合MySQL8.0 部署)
系统:Centos7
Nacos:1.3.0
MySQL:8.0.20
1 、首先下载nacos 镜像
docker pull docker.io/nacos/nacos-server
- 先启动 Nacos
docker run --env MODE=standalone --name nacos -d -p 8848:8848 docker.io/nacos/nacos-server
其中env 参数是指定容器所处环境,这里是指建立单机版的nacos
4.修改docker里的nacos的application.properties文件的参数:
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.2.110:3306/nacos_config?serverTimezone=Asia/Shanghai&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
\#db.url.1=jdbc:mysql://\${MYSQL\_SERVICE\_HOST}:\${MYSQL\_SERVICE\_PORT:3306}/\${MYSQL\_SERVICE\_DB\_NAME}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
- 先将 docker 里的nacos的原本 nacos-server.jar 删除
下载最新的nacos 源码
git clone https://github.com/alibaba/nacos.git
1 、修改nacos/pom.xml
将
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34</version>
</dependency>
改为:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
2 、修改naming 模块下com.alibaba.nacos.naming.healthcheck.MysqlHealthCheckProcessor :
将
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
改为
import com.mysql.cj.jdbc.MysqlDataSource;
3.、由于mysql8 及其以上版本需要带时区,所以还需要修改
console 这项目 resources/META-INF 下
nacos-default.properties 这个文件中的db.url
db.url.0=jdbc:mysql://11.162.196.161:3306/diamond_devtest?serverTimezone=GMT%2B8&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.url.1=jdbc:mysql://11.163.152.91:3306/diamond_devtest?serverTimezone=GMT%2B8&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
在最外面pom 文件中增加插件跳过test
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
编译
mvn -Prelease-nacos clean install -U -Dmaven.test.skip=true
进入nacos 容器:
把自己编译修改好 nacos-server.jar 放进上面的 /nacos/target/ 位置下:
复制命令如下:
docker cp /home/download/nacos-server.jar nacos:/home/nacos/target/
/home/download/nacos-server.jar 为你实际存放nacos-server.jar 路径,根据实际情况写
开启数据库3306端口 要不然访问失败
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
firewall-cmd --reload
7 重启 nacos
docker restart nacos
到这里基本部署完成啦,
输入
http://ip:8848/nacos/
可以访问啦。
如果访问不了,请开启防火墙: