系統:Centos7css
Nacos:1.1.4html
MySQL:8.0.16java
步驟:mysql
下載nacos鏡像; 配置數據庫,以及導入nacos-db.sql; 修改nacos源文件,以便支持mysql8.0+ 把修改好的nacos-server.jar替換掉原先的; 修改docker裏的nacos容器的配置文件application.properties 一、首先下載nacos鏡像 docker pull nacos/nacos-server:1.1.4git
(這邊安裝指定版本的nacos。如須要安裝最新版,執行如下命令,默認下載最新版本)github
docker pull nacos/nacos-serverspring
2.配置數據庫sql
要先在docker部署好MySQL8.0.16數據庫,不會部署百度哈:docker
數據庫腳本下載地址: https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql數據庫
進入運行mysql的docker容器: docker exec -it mysql /bin/bash 使用mysql命令打開客戶端: mysql -uroot -p --default-character-set=utf8 建立nacos_config數據庫: create database nacos_config character set utf8 將上面下載好的數據庫腳本nacos-db.sql文件拷貝到mysql容器的/目錄下:(/mydata/nacos-db.sql是我存放該腳本的路徑,請根據你實際修改) docker cp /mydata/nacos-db.sql mysql:/ 將sql文件導入到數據庫: use nacos_config; source /nacos-db.sql; 建立一個nacos能訪問並修改權限,使得nacos的ip能訪問nacos_config數據庫(沒這步nacos可能連接不了數據庫,會有以下報錯):
#建立用戶: create user 'root'@'172.17.0.3' identified by '123456';
#受權: grant all privileges on nacos_config.* to 'root'@'172.17.0.3' WITH GRANT OPTION;
#刷新 flush privileges; 172.17.0.3 爲docker裏nacos的ip地址,根據你實際修改,可經過該命令查詢ip: docker inspect nacos | grep IPAddress
root爲你數據庫用戶名,123456爲你數據庫密碼
注意:使用MySQL8.0+以上版本的,Nacos不支持(從官網上下載的Nacos默認支持mysql5.X),須要修改以後纔可使用,由於 Nacos 自帶 mysql-connector-java 版本過低,升級一下版本就能夠了。
Nacos 修改方法參考這兩篇文章:
nacos配置中心鏈接mysql8.0
Nacos學習(二):Nacos1.1.4支持Mysql8.0
若是不想修改,從這裏下載我修改編譯好的 nacos (mysql-connector-java修改爲了8.0.16版本),點這裏下載
得到修改編譯好後的nacos-server.jar(在nacos/target/文件夾下),傳送到centos上。
- 先啓動Nacos:
啓動命令以下(具體參數要實際狀況修改):
docker run -d
-e MODE=standalone
-e SPRING_DATASOURCE_PLATFORM=mysql
-e MYSQL_MASTER_SERVICE_HOST=172.17.0.3
-e MYSQL_MASTER_SERVICE_PORT=3306
-e MYSQL_MASTER_SERVICE_USER=root
-e MYSQL_MASTER_SERVICE_PASSWORD=123456
-e MYSQL_MASTER_SERVICE_DB_NAME=nacos_config
-p 8848:8848
--restart=always
nacos/nacos-server 配置項 說明 MYSQL_MASTER_SERVICE_HOST mysql 主節點 host。(Docker的容器也有ip的,不要直接寫127.0.0.1之類的,先查詢下docker裏的mysql的ip多少,再填進去,ip查詢命令:docker inspect mysql | grep IPAddress) 更多配置參數信息看這裏:https://nacos.io/zh-cn/docs/quick-start-docker.html
(如下步驟可不執行, 看本身需求)
若是要修改掛載目錄,方法以下:
mkdir -p /home/nacos/logs/ #新建logs目錄 mkdir -p /home/nacos/init.d/
vim /home/nacos/init.d/custom.properties #修改配置文件 添加以下參數:
server.contextPath=/nacos server.servlet.contextPath=/nacos server.port=8848
spring.datasource.platform=mysql
db.num=1 db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=user db.password=pass
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 :wq 保存退出
3.啓動命令修改以下
docker run -d
-e MODE=standalone
-e SPRING_DATASOURCE_PLATFORM=mysql
-e MYSQL_MASTER_SERVICE_HOST=172.17.0.3
-e MYSQL_MASTER_SERVICE_PORT=3306
-e MYSQL_MASTER_SERVICE_USER=root
-e MYSQL_MASTER_SERVICE_PASSWORD=123456
-e MYSQL_MASTER_SERVICE_DB_NAME=nacos_config
-p 8848:8848
--restart=always
-v /home/nacos/logs:/home/nacos/logs
-v /home/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties
nacos/nacos-server
4.修改docker裏的nacos的application.properties文件的參數:
#進入nacos容器: docker exec -it nacos bash
#進入conf文件夾 cd conf
#修改配置參數 vim application.properties 修改紅色框的框選的參數便可,按實際狀況修改:
注意:MYSQL_MASTER_SERVICE_HOST 爲docker的mysql容器的ip,ip查詢命令爲:docker inspect mysql | grep IPAddress
db.url.0後參數加上useSSL=true&serverTimezone=GMT&
而後 :wq 保存退出;
5.先將docker裏的nacos的本來 nacos-server.jar 刪除(換成剛纔修改編譯支持mysql8.0的)
#進入nacos容器: docker exec -it nacos bash
#查看該文件夾下的數據 ls
#進入target文件夾 cd target
#刪除舊的nacos-server.jar rm nacos-server.jar 而後輸入exit退出,
把本身編譯修改好nacos-server.jar放進上面的 /nacos/target/ 位置下:
6.複製命令以下:
docker cp /home/download/nacos-server.jar nacos:/home/nacos/target/ /home/download/nacos-server.jar爲你實際存放nacos-server.jar路徑,根據實際狀況寫
7.重啓nacos docker restart nacos
到這裏基本部署完成啦, 輸入 http://ip:8848/nacos/ 能夠訪問啦。 默認帳號:nacos 默認密碼:nacos 若是訪問不了,請開啓防火牆: firewall-cmd --zone=public --add-port=8848/tcp --permanent firewall-cmd --reload