拉取镜像
sudo docker pull nacos/nacos-server:v2.3.0
查看镜像
sudo docker images
宿主机创建挂载文件
sudo mkdir -p /home/docker/nacos/logs
sudo mkdir -p /home/docker/nacos/data
sudo mkdir -p /home/docker/nacos/conf
sudo touch /home/docker/nacos/conf/application.properties
启动容器
docker run \
--name nacos -d \
-p 9848:9848 \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=512m \
-e JVM_XMX=1024m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /home/docker/nacos/logs:/home/nacos/logs \
-v /home/docker/nacos/data:/home/nacos/data \
-v /home/docker/nacos/conf/application.properties:/home/nacos/conf/application.properties \
nacos/nacos-server:v2.3.0
查看容器运行情况
sudo docker ps -a
查看容器运行日志
# 查询最近600条日志
sudo docker logs -f --tail 600 nacos
启动成功
部署数据库
修改数据库配置文件
修改宿主机,编辑目录/home/docker/nacos/conf下的文件application.properties,主要内容如下,可参考
nacos.core.auth.enabled=true
#权限缓存开关,开启后权限缓存的更新默认有15秒的延迟,默认 : false
nacos.core.auth.caching.enabled=true
nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:example}
nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_KEY:example}
#自定义用于生成JWT令牌的密钥
#注意:原始密钥长度不得低于32字符,且一定要进行Base64编码,否则无法启动节点
nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey******************************************************3456789}#告诉 Nacos 使用主机名作为服务的优选模式
#server.address=ip地址
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://ip地址:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
db.user=用户名
db.password=密码
执行数据库脚本
先获取sql脚本,进入nacos容器内部,进入conf目录下,获取脚本mysql-schema.sql,或者直接访问链接获取nacos/distribution/conf/mysql-schema.sql at 2.3.0 · alibaba/nacos · GitHub
docker exec -it nacos /bin/bash
cd /conf
启动Nacos容器