基于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

原文地址:https://www.cnblogs.com/studyandstudy/p/15434359.html