docker部署nacos1.4
基于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启动较慢,若出现访问被拒绝,可稍等一会儿,若还是不能访问,请根据日志查看错误原因并自行排查。