基於docker+mysql部署nacos1.4
1. 前置環境
正確安裝docker和MySQL且能夠正常運行
2. 拉取鏡像
docker pull nacos/nacos-server:1.4.0
3. 創建數據庫
-
在mysql中創建nacos數據庫(略)
-
執行sql
//sql下載地址:
https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql
4. 運行容器
- 方式1直接部署
docker run -d \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.56.10 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=nacos \
-p 8848:8848 \
--name nacos \
--restart=always \
nacos/nacos-server:1.4.0
參數說明:
# 單節點模式
MODE=standalone
# 數據庫地址
MYSQL_SERVICE_HOST
# 數據庫用戶名
MYSQL_SERVICE_USER
# 數據庫密碼
MYSQL_SERVICE_PASSWORD
# 需連接的數據庫名稱
MYSQL_SERVICE_DB_NAME
# 端口映射
-p 8848:8848
# 任意時候重啟容器,開機就能自動啟動容器(需設置docker為開機自啟)
--restart=always
- 方式2使用指定的配置文件部署
若需要映射容器內文件到宿主機上,或需要配置其它屬性,可以先按方式1啟動然后拷貝出配置文件,修改后啟動
- 拷貝配置文件
docker cp nacos /home/nacos/conf/application.properties /home/docker/nacos/conf
- 拷貝logback日志配置文件
docker cp nacos /home/nacos/conf/nacos-logback.xml /home/docker/nacos/conf
- 修改application.properties配置文件如下
# spring
server.servlet.contextPath=/nacos
server.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
db.num=1
db.url.0=jdbc:mysql://192.168.56.10:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=Asia/Shanghai
db.url.1=jdbc:mysql://192.168.56.10:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=Asia/Shanghai
db.user=root
db.password=root
### The auth system to use, currently only 'nacos' is supported:
nacos.core.auth.system.type=nacos
### The token expiration in seconds:
nacos.core.auth.default.token.expire.seconds=18000
### The default token:
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
nacos.core.auth.caching.enabled=false
- 停止並刪除剛才創建的容器
docker stop nacos
docker rm nacos
- 重新運行容器
docker run -d \
-e MODE=standalone \
-p 8848:8848 \
-v /home/docker/nacos/conf:/home/nacos/conf \
-v /home/docker/nacos/logs:/home/nacos/logs \
-v /home/docker/nacos/data:/home/nacos/data \
--name nacos-mysql \
--restart=always \
nacos/nacos-server:1.4.0
5. 測試訪問ip:8848/nacos
注意:nacos啟動較慢,若出現訪問被拒絕,可稍等一會兒,若還是不能訪問,請根據日志查看錯誤原因並自行排查。