基于docker安装nacos并且配置mysql
软硬件
操作系统
基于window10下的WSL2(Ubuntu 18.04 LTS)
如何配置,请参考这篇教程(传送门) : WSL2上的Docker远程容器入门
软件安装包
nacos2.0.3,mysql5.7.29
安装nacos
配置好wsl2与docker的环境后,使用docker命令下载
docker pull nacos/nacos-server
拉取镜像完成后,执行下面的命令
mkdir -p /data/docker/logs/nacos #新建logs目录
mkdir -p /data/docker/nacos/init.d
mkdir -p /data/docker/nacos/data
执行完成这一步就基本上吧nacos的安装完成,接下来我们安装mysql
安装mysql
docker pull mysql:5.7.29
拉取完毕后,运行mysql容器
docker run --name mysql -d -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
nacos配置mysql
打开并写入配置文件
vi /data/docker/nacos/init.d/custom.properties #默认配置文件
#spring.security.enabled=false
#management.security=false
#security.basic.enabled=false
#nacos.security.ignore.urls=/**
#management.metrics.export.elastic.host=http://localhost:9200metrics for prometheusmanagement.endpoints.web.exposure.include=*metrics for elastic search#management.metrics.export.elastic.enabled=false
启动nacos命令
docker run \
--name nacos -d \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.235.1 \
-e MYSQL_SERVICE_DB_NAME=nacos_dec\
-e MYSQL_SERVICE_PORT=3306\
-e MYSQL_SERVICE_USER=root\
-e MYSQL_SERVICE_PASSWORD=root\
-v /data/docker/logs/nacos:/home/nacos/logs \
-v /data/docker/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-v /data/docker/nacos/data:/home/nacos/data \
nacos/nacos-server
验证运行结果
输入IP: http://127.0.0.1:8848
安装中会遇到的问题以及参考解决办法
nacos
1.修改数据库地址后,nacos启动错误
解决方案:我遇到这个问题是因为nacos时创建数据库连接失败报出的类似问题,最终发现是因为nacos docker容器ip与外部mysql服务器ip网段相同,ip地址冲突导致的。 当然也有可能是mysql版本由原来的5.7换到了8.0版本的原因 https://jonhuster.blog.csdn.net/article/details/116530473
2.使用docker安装Nacos,远程连接nacos报错,please check server x.x.x.x ,port 9848 is available
主要是naocs2.0以后的版本需要放开端口9848就行
mysql
启动mysql的问题解决方法(请参考):
[ERROR] [Entrypoint]: Database is uninitialized and password option is not specified You nee