使用 Docker 部署 Nacos 并配置 MySQL 数据源

docker pull nacos/nacos-server:v2.2.0

rm -rf /mydata/nacos/conf
rm -rf /mydata/nacos/logs
rm -rf /mydata/nacos/data


mkdir -p /mydata/nacos/conf
mkdir -p /mydata/nacos/logs
mkdir -p /mydata/nacos/data


docker run --name nacos -d -p 8848:8848 -e MODE=standalone nacos/nacos-server


docker cp nacos:/home/nacos/logs/ /mydata/nacos
docker cp nacos:/home/nacos/conf/ /mydata/nacos
docker cp nacos:/home/nacos/data/ /mydata/nacos
#意思是吧nacos容器中的log conf data的数据复制到本机的/mydata/nacos中
④删除临时容器

docker rm -f nacos


vi /mydata/nacos/conf/application.properties

 

通过以下脚本,创建容器:
其中,关键一句:--add-host=host.docker.internal:host-gateway \
使得,在application.properties中通过:db.url.0=jdbc:mysql://host.docker.internal:3306/nacos_config?xxx,可以访问到本机的mysql数据库

docker run --name nacos-server \
-p 9007:8848 \
-p 7848:7848 \
-p 9848:9848 \
-p 9849:9849 \
--privileged=true \
--restart=always \
--add-host=host.docker.internal:host-gateway \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/conf/application.properties:/home/nacos/conf/application.properties \
-d nacos/nacos-server:v2.2.0

//*******************************application.properties***************************


server.servlet.contextPath=/nacos
server.error.include-message=ON_PARAM
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://host.docker.internal:3306/xy-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=***************

db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2

nacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000

management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false

server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
server.tomcat.basedir=file:.
nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**

nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=false
nacos.core.auth.caching.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789

nacos.istio.mcp.server.enabled=false

 

posted on 2024-03-02 11:23  zyp_java_net  阅读(233)  评论(0编辑  收藏  举报

导航