docker安装nacos
我一直以来我是用虚拟机安装的mysql,redis,es等,在本机安装nacos作为注册中心和配置中心的,每次重启电脑都需要启动nacos和虚拟机比较麻烦。
今天斥巨资103.08元购买个一年的华为云服务器来用于开发,购买后mysql,redis这些都是安装在虚拟机,云服务器也是linux系统,直接在云服务器安装docker,然后按照前面的博客那样安装就好了。
这里主要说一下nacos,之前由于在本机安装的,本机是Windows系统,下面讲一下怎么在Linux安装使用。
下载镜像
docker pull nacos/nacos-server
下载完可以查一下:
创建挂载目录
在本地home文件中挂载目录,挂载配置以及日志文件。
mkdir -p /home/nacos/logs
mkdir -p /home/nacos/init.d
在 /home/nacos/init.d 路径下创建custom.properties文件并粘贴相关配置:
cd /home/nacos/init.d/
vi custom.properties
修改为如下内容:
#spring.security.enabled=false #management.security=false #security.basic.enabled=false #nacos.security.ignore.urls=/** #management.metrics.export.elastic.host=http://localhost:9200 # metrics for prometheus management.endpoints.web.exposure.include=* # metrics for elastic search #management.metrics.export.elastic.enabled=false #management.metrics.export.elastic.host=http://localhost:9200 # metrics for influx #management.metrics.export.influx.enabled=false #management.metrics.export.influx.db=springboot #management.metrics.export.influx.uri=http://localhost:8086 #management.metrics.export.influx.auto-create-db=true #management.metrics.export.influx.consistency=one #management.metrics.export.influx.compressed=true
启动容器
配置数据库是为了nacos的配置持久化(-e 是设置环境变量 MYSQL_XXX的环境变量nacos的配置里会读取环境变量,所以设置了环境变量nacos就可以访问数据库)
docker run -d --name nacos --restart=always --network=host \
-p 8848:8848 -p 9848:9848 -p 9849:9849 \
-e MODE=standalone \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=数据库IP \
-e MYSQL_SERVICE_DB_NAME=数据库名 \
-e MYSQL_SERVICE_USER=数据库登录名 \
-e MYSQL_SERVICE_PASSWORD=数据库密码 \
-e MYSQL_SERVICE_PORT=数据库端口 \
-e MYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
" \
-v /var/log/nacos:/home/nacos/logs \
-v /home/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server
启动服务
docker start nacos
测试
如果失败
如果测试打不开可以docker logs nacos查看日志,大多数是数据库持久化配置出错了,链接不上数据库等,可以直接修改数据库相关链接:
#进入nacos容器 docker exec -it nacos /bin/bash
#进入配置文件夹
cd conf
#修改配置
vim application.properties
spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://数据库IP:数据库端口/数据库名?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=数据库用户名 db.password=数据库密码
基本就可以解决了
我一般都是application.properties的默认端口3306改成实际mysql端口就好了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义