Compare commits
33 Commits
Author | SHA1 | Date |
---|---|---|
|
26cc6b6056 | |
|
a3795ac461 | |
|
9c93392805 | |
|
bcc778c832 | |
|
baffa99131 | |
|
9e80494a69 | |
|
74df95080f | |
|
e76c828582 | |
|
c82efd39fd | |
|
e4f35a54c5 | |
|
eff0d35f5b | |
|
a24b728c75 | |
|
6a611cbd58 | |
|
d11f709704 | |
|
a61632e219 | |
|
aa991698ea | |
|
cdf8c9904c | |
|
b51f46f96b | |
|
a68691422d | |
|
aac25b9a51 | |
|
41e7f1e916 | |
|
a6c1c09221 | |
|
5b21514ebc | |
|
1c006e1959 | |
|
5a09ed9222 | |
|
f9d8d059f3 | |
|
ae8bb56b56 | |
|
a743c3c1fb | |
|
c82b928d90 | |
|
4d891ca4eb | |
|
cb9ef49e97 | |
|
a56b001d0d | |
|
efaa0bd6bd |
|
@ -0,0 +1,201 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
27
README.md
27
README.md
|
@ -40,11 +40,18 @@ docker run --name nacos-quick -e MODE=standalone -p 8848:8848 -p 9848:9848 -d na
|
|||
|
||||
## Advanced Usage
|
||||
|
||||
* Tips: You can change the version of the Nacos image in the compose file from the following configuration.
|
||||
* Tips: You can change [the version of the Nacos image](https://hub.docker.com/r/nacos/nacos-server/tags) in the compose
|
||||
file from the following configuration.
|
||||
`example/.env`
|
||||
|
||||
```dotenv
|
||||
NACOS_VERSION=v2.2.0
|
||||
NACOS_VERSION=v2.3.1
|
||||
```
|
||||
|
||||
For Mac user with Arm Chip (like M1/M2/M3 series) , you need to add `-slim` after version which support `arm` arch.
|
||||
|
||||
```dotenv
|
||||
NACOS_VERSION=v2.3.1-slim
|
||||
```
|
||||
|
||||
Run the following command:
|
||||
|
@ -65,11 +72,8 @@ Run the following command:
|
|||
* Standalone Mysql
|
||||
|
||||
```powershell
|
||||
# Using mysql 5.7
|
||||
docker-compose -f example/standalone-mysql-5.7.yaml up
|
||||
|
||||
# Using mysql 8
|
||||
docker-compose -f example/standalone-mysql-8.yaml up
|
||||
cd example
|
||||
./mysql-init.sh && docker-compose -f standalone-mysql.yaml up
|
||||
```
|
||||
|
||||
* Standalone Nacos Cluster
|
||||
|
@ -147,8 +151,13 @@ Run the following command:
|
|||
| NACOS_SECURITY_IGNORE_URLS | nacos.security.ignore.urls | default : `/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**` |
|
||||
| NACOS_CONSOLE_UI_ENABLED | nacos.console.ui.enabled | default : `true` |
|
||||
| NACOS_CORE_PARAM_CHECK_ENABLED | nacos.core.param.check.enabled | default : `true` |
|
||||
| DB_POOL_CONNECTION_TIMEOUT | Database connection pool timeout in milliseconds | default : **30000** |
|
||||
|
||||
| DB_POOL_CONNECTION_TIMEOUT | Database connection pool timeout in milliseconds | default : **30000** |
|
||||
| NACOS_CONSOLE_UI_ENABLED | nacos.console.ui.enabled | default : `true` |
|
||||
| NACOS_CORE_PARAM_CHECK_ENABLED | nacos.core.param.check.enabled | default : `true` |
|
||||
| NACOS_AUTH_ADMIN_ENABLE | nacos.core.auth.admin.enable | default : `true` |
|
||||
| NACOS_AUTH_CONSOLE_ENABLE | nacos.core.auth.console.enable | default : `true` | |
|
||||
| NACOS_CONSOLE_PORT | nacos.console.port | default : `8080` |
|
||||
| NACOS_CONSOLE_CONTEXTPATH | nacos.console.contextPath | default : `` |
|
||||
|
||||
## Advanced configuration
|
||||
|
||||
|
|
13
README_ZH.md
13
README_ZH.md
|
@ -50,11 +50,8 @@
|
|||
* Standalone Mysql
|
||||
|
||||
```powershell
|
||||
# Using mysql 5.7
|
||||
docker-compose -f example/standalone-mysql-5.7.yaml up
|
||||
|
||||
# Using mysql 8
|
||||
docker-compose -f example/standalone-mysql-8.yaml up
|
||||
cd example
|
||||
./mysql-init.sh && docker-compose -f standalone-mysql.yaml up
|
||||
```
|
||||
|
||||
* docker单节点部署集群模式
|
||||
|
@ -171,10 +168,12 @@
|
|||
| NACOS_AUTH_IDENTITY_VALUE | nacos.core.auth.server.identity.value | `注意:该环境变量在Nacos 2.2.1版本中已移除` |
|
||||
| NACOS_SECURITY_IGNORE_URLS | nacos.security.ignore.urls | default : `/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**` |
|
||||
| DB_POOL_CONNECTION_TIMEOUT | 数据库连接池超时时间,单位为毫秒 | 默认 : **30000** |
|
||||
|
||||
| NACOS_CONSOLE_UI_ENABLED | nacos.console.ui.enabled | default : `true` |
|
||||
| NACOS_CORE_PARAM_CHECK_ENABLED | nacos.core.param.check.enabled | default : `true` |
|
||||
|
||||
| NACOS_AUTH_ADMIN_ENABLE | nacos.core.auth.admin.enable | default : `true` |
|
||||
| NACOS_AUTH_CONSOLE_ENABLE | nacos.core.auth.console.enable | default : `true` | |
|
||||
| NACOS_CONSOLE_PORT | nacos.console.port | default : `8080` |
|
||||
| NACOS_CONSOLE_CONTEXTPATH | nacos.console.contextPath | default : `` |
|
||||
|
||||
## 高级配置
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ FROM alpine:latest
|
|||
LABEL maintainer="pader <huangmnlove@163.com>"
|
||||
|
||||
# 安装依赖
|
||||
RUN apk add --no-cache openjdk8-jre-base curl iputils ncurses vim libcurl bash
|
||||
RUN apk add --no-cache openjdk17-jre curl iputils ncurses vim libcurl bash libstdc++
|
||||
|
||||
# 设置环境变量
|
||||
ENV MODE="cluster" \
|
||||
|
@ -11,9 +11,9 @@ ENV MODE="cluster" \
|
|||
CLASSPATH=".:/home/nacos/conf:$CLASSPATH" \
|
||||
CLUSTER_CONF="/home/nacos/conf/cluster.conf" \
|
||||
FUNCTION_MODE="all" \
|
||||
JAVA_HOME="/usr/lib/jvm/java-1.8-openjdk" \
|
||||
JAVA_HOME="/usr/lib/jvm/java-17-openjdk" \
|
||||
NACOS_USER="nacos" \
|
||||
JAVA="/usr/lib/jvm/java-1.8-openjdk/bin/java" \
|
||||
JAVA="/usr/lib/jvm/java-17-openjdk/bin/java" \
|
||||
JVM_XMS="1g" \
|
||||
JVM_XMX="1g" \
|
||||
JVM_XMN="512m" \
|
||||
|
@ -23,7 +23,7 @@ ENV MODE="cluster" \
|
|||
TOMCAT_ACCESSLOG_ENABLED="false" \
|
||||
TIME_ZONE="Asia/Shanghai"
|
||||
|
||||
ARG NACOS_VERSION=2.4.1
|
||||
ARG NACOS_VERSION=3.0.2
|
||||
ARG HOT_FIX_FLAG=""
|
||||
|
||||
WORKDIR $BASE_DIR
|
||||
|
@ -46,4 +46,5 @@ RUN mkdir -p logs \
|
|||
&& chmod +x bin/docker-startup.sh
|
||||
|
||||
EXPOSE 8848
|
||||
EXPOSE 9848 8080
|
||||
ENTRYPOINT ["sh","bin/docker-startup.sh"]
|
|
@ -1,6 +1,6 @@
|
|||
FROM amd64/buildpack-deps:buster-curl as installer
|
||||
|
||||
ARG NACOS_VERSION=2.4.1
|
||||
ARG NACOS_VERSION=3.0.2
|
||||
ARG HOT_FIX_FLAG=""
|
||||
|
||||
RUN set -x \
|
||||
|
@ -8,7 +8,7 @@ RUN set -x \
|
|||
&& tar -xzvf /var/tmp/nacos-server.tar.gz -C /home \
|
||||
&& rm -rf /var/tmp/nacos-server.tar.gz /home/nacos/bin/* /home/nacos/conf/*.properties /home/nacos/conf/*.example /home/nacos/conf/nacos-mysql.sql
|
||||
|
||||
FROM adoptopenjdk/openjdk8:jre8u372-b07
|
||||
FROM eclipse-temurin:17.0.15_6-jre
|
||||
|
||||
# set environment
|
||||
ENV MODE="cluster" \
|
||||
|
@ -45,4 +45,5 @@ RUN mkdir -p logs \
|
|||
RUN chmod +x bin/docker-startup.sh
|
||||
|
||||
EXPOSE 8848
|
||||
EXPOSE 9848 8080
|
||||
ENTRYPOINT ["bin/docker-startup.sh"]
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
set -x
|
||||
export CUSTOM_SEARCH_NAMES="application"
|
||||
export CUSTOM_SEARCH_LOCATIONS=file:${BASE_DIR}/conf/
|
||||
export MEMBER_LIST=""
|
||||
export MEMBER_LIST="$MEMBER_LIST"
|
||||
PLUGINS_DIR="/home/nacos/plugins/peer-finder"
|
||||
function print_servers() {
|
||||
if [[ ! -d "${PLUGINS_DIR}" ]]; then
|
||||
|
@ -27,18 +27,32 @@ function print_servers() {
|
|||
sleep 30
|
||||
fi
|
||||
}
|
||||
|
||||
function join_if_exist() {
|
||||
if [ -n "$2" ]; then
|
||||
echo "$1$2"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
#===========================================================================================
|
||||
# JVM Configuration
|
||||
#===========================================================================================
|
||||
JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 "
|
||||
Xms=$(join_if_exist "-Xms" ${JVM_XMS})
|
||||
Xmx=$(join_if_exist "-Xmx" ${JVM_XMX})
|
||||
Xmn=$(join_if_exist "-Xmn" ${JVM_XMN})
|
||||
XX_MS=$(join_if_exist "-XX:MetaspaceSize=" ${JVM_MS})
|
||||
XX_MMS=$(join_if_exist "-XX:MaxMetaspaceSize=" ${JVM_MMS})
|
||||
|
||||
if [[ "${MODE}" == "standalone" ]]; then
|
||||
JAVA_OPT="${JAVA_OPT} -Xms${JVM_XMS} -Xmx${JVM_XMX} -Xmn${JVM_XMN}"
|
||||
JAVA_OPT="${JAVA_OPT} $Xms $Xmx $Xmn"
|
||||
JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
|
||||
else
|
||||
if [[ "${EMBEDDED_STORAGE}" == "embedded" ]]; then
|
||||
JAVA_OPT="${JAVA_OPT} -DembeddedStorage=true"
|
||||
fi
|
||||
JAVA_OPT="${JAVA_OPT} -server -Xms${JVM_XMS} -Xmx${JVM_XMX} -Xmn${JVM_XMN} -XX:MetaspaceSize=${JVM_MS} -XX:MaxMetaspaceSize=${JVM_MMS}"
|
||||
JAVA_OPT="${JAVA_OPT} -server $Xms $Xmx $Xmn $XX_MS $XX_MMS"
|
||||
if [[ "${NACOS_DEBUG}" == "y" ]]; then
|
||||
JAVA_OPT="${JAVA_OPT} -Xdebug -Xrunjdwp:transport=dt_socket,address=9555,server=y,suspend=n"
|
||||
fi
|
||||
|
@ -78,15 +92,43 @@ if [[ ! -z "${NACOS_AUTH_ENABLE}" ]]; then
|
|||
JAVA_OPT="${JAVA_OPT} -Dnacos.core.auth.enabled=${NACOS_AUTH_ENABLE}"
|
||||
fi
|
||||
|
||||
if [[ ! -z "${NACOS_AUTH_ADMIN_ENABLE}" ]]; then
|
||||
JAVA_OPT="${JAVA_OPT} -Dnacos.core.auth.admin.enabled=${NACOS_AUTH_ADMIN_ENABLE}"
|
||||
fi
|
||||
|
||||
if [[ ! -z "${NACOS_AUTH_CONSOLE_ENABLE}" ]]; then
|
||||
JAVA_OPT="${JAVA_OPT} -Dnacos.core.auth.console.enabled=${NACOS_AUTH_CONSOLE_ENABLE}"
|
||||
fi
|
||||
|
||||
if [[ -z "${NACOS_AUTH_TOKEN}" ]]; then
|
||||
echo "env NACOS_AUTH_TOKEN must be set with Base64 String."
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [[ -z "${NACOS_AUTH_IDENTITY_KEY}" ]]; then
|
||||
echo "env NACOS_AUTH_IDENTITY_KEY must be set."
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [[ -z "${NACOS_AUTH_IDENTITY_VALUE}" ]]; then
|
||||
echo "env NACOS_AUTH_IDENTITY_VALUE must be set."
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [[ "${PREFER_HOST_MODE}" == "hostname" ]]; then
|
||||
JAVA_OPT="${JAVA_OPT} -Dnacos.preferHostnameOverIp=true"
|
||||
fi
|
||||
JAVA_OPT="${JAVA_OPT} -Dnacos.member.list=${MEMBER_LIST}"
|
||||
|
||||
if [[ ! -z "${NACOS_DEPLOYMENT_TYPE}" ]]; then
|
||||
JAVA_OPT="${JAVA_OPT} -Dnacos.deployment.type=${NACOS_DEPLOYMENT_TYPE}"
|
||||
fi
|
||||
|
||||
JAVA_MAJOR_VERSION=$($JAVA -version 2>&1 | sed -E -n 's/.* version "([0-9]*).*$/\1/p')
|
||||
if [[ "$JAVA_MAJOR_VERSION" -ge "9" ]]; then
|
||||
JAVA_OPT="${JAVA_OPT} -Xlog:gc*:file=${BASE_DIR}/logs/nacos_gc.log:time,tags:filecount=10,filesize=102400"
|
||||
else
|
||||
JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 "
|
||||
JAVA_OPT_EXT_FIX="-Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext"
|
||||
JAVA_OPT="${JAVA_OPT} -Xloggc:${BASE_DIR}/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M"
|
||||
fi
|
||||
|
|
|
@ -1,55 +1,305 @@
|
|||
# spring
|
||||
server.servlet.contextPath=${SERVER_SERVLET_CONTEXTPATH:/nacos}
|
||||
server.contextPath=/nacos
|
||||
server.port=${NACOS_APPLICATION_PORT:8848}
|
||||
server.tomcat.accesslog.max-days=30
|
||||
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
|
||||
server.tomcat.accesslog.enabled=${TOMCAT_ACCESSLOG_ENABLED:false}
|
||||
server.error.include-message=ALWAYS
|
||||
# default current work dir
|
||||
server.tomcat.basedir=file:.
|
||||
#*************** Config Module Related Configurations ***************#
|
||||
### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
|
||||
#spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:}
|
||||
#
|
||||
# Copyright 1999-2025 Alibaba Group Holding Ltd.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
#--------------- Nacos Common Configurations ---------------#
|
||||
|
||||
#*************** Nacos port Related Configurations ***************#
|
||||
### Nacos Server Main port
|
||||
nacos.server.main.port=${NACOS_APPLICATION_PORT:8848}
|
||||
|
||||
#*************** Network Related Configurations ***************#
|
||||
### If prefer hostname over ip for Nacos server addresses in cluster.conf:
|
||||
# nacos.inetutils.prefer-hostname-over-ip=false
|
||||
|
||||
### Specify local server's IP:
|
||||
# nacos.inetutils.ip-address=
|
||||
|
||||
#*************** Datasource Related Configurations ***************#
|
||||
### nacos.plugin.datasource.log.enabled=true
|
||||
spring.sql.init.platform=${SPRING_DATASOURCE_PLATFORM:}
|
||||
nacos.cmdb.dumpTaskInterval=3600
|
||||
nacos.cmdb.eventTaskInterval=10
|
||||
nacos.cmdb.labelTaskInterval=300
|
||||
nacos.cmdb.loadDataAtStart=false
|
||||
### Count of DB:
|
||||
# db.num=1
|
||||
|
||||
### Connect URL of DB:
|
||||
db.num=${MYSQL_DATABASE_NUM:1}
|
||||
db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
|
||||
db.user.0=${MYSQL_SERVICE_USER}
|
||||
db.password.0=${MYSQL_SERVICE_PASSWORD}
|
||||
## DB connection pool settings
|
||||
|
||||
db.pool.config.connectionTimeout=${DB_POOL_CONNECTION_TIMEOUT:30000}
|
||||
db.pool.config.validationTimeout=10000
|
||||
db.pool.config.maximumPoolSize=20
|
||||
db.pool.config.minimumIdle=2
|
||||
### The auth system to use, currently only 'nacos' and 'ldap' is supported:
|
||||
|
||||
#*************** Metrics Related Configurations ***************#
|
||||
### Metrics for prometheus
|
||||
management.endpoints.web.exposure.include=prometheus
|
||||
|
||||
### 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
|
||||
|
||||
#*************** Core Related Configurations ***************#
|
||||
|
||||
### set the WorkerID manually
|
||||
# nacos.core.snowflake.worker-id=
|
||||
|
||||
### Member-MetaData
|
||||
# nacos.core.member.meta.site=
|
||||
# nacos.core.member.meta.adweight=
|
||||
# nacos.core.member.meta.weight=
|
||||
|
||||
### MemberLookup
|
||||
### Addressing pattern category, If set, the priority is highest
|
||||
# nacos.core.member.lookup.type=[file,address-server]
|
||||
|
||||
## Set the cluster list with a configuration file or command-line argument
|
||||
# nacos.member.list=192.168.16.101:8847?raft_port=8807,192.168.16.101?raft_port=8808,192.168.16.101:8849?raft_port=8809
|
||||
|
||||
## for AddressServerMemberLookup
|
||||
# Maximum number of retries to query the address server upon initialization
|
||||
# nacos.core.address-server.retry=5
|
||||
## Server domain name address of [address-server] mode
|
||||
# address.server.domain=jmenv.tbsite.net
|
||||
## Server port of [address-server] mode
|
||||
# address.server.port=8080
|
||||
## Request address of [address-server] mode
|
||||
# address.server.url=/nacos/serverlist
|
||||
|
||||
#*************** JRaft Related Configurations ***************#
|
||||
|
||||
### Sets the Raft cluster election timeout, default value is 5 second
|
||||
# nacos.core.protocol.raft.data.election_timeout_ms=5000
|
||||
### Sets the amount of time the Raft snapshot will execute periodically, default is 30 minute
|
||||
# nacos.core.protocol.raft.data.snapshot_interval_secs=30
|
||||
### raft internal worker threads
|
||||
# nacos.core.protocol.raft.data.core_thread_num=8
|
||||
### Number of threads required for raft business request processing
|
||||
# nacos.core.protocol.raft.data.cli_service_thread_num=4
|
||||
### raft linear read strategy. Safe linear reads are used by default, that is, the Leader tenure is confirmed by heartbeat
|
||||
# nacos.core.protocol.raft.data.read_index_type=ReadOnlySafe
|
||||
### rpc request timeout, default 5 seconds
|
||||
# nacos.core.protocol.raft.data.rpc_request_timeout_ms=5000
|
||||
### enable to support prometheus service discovery
|
||||
#nacos.prometheus.metrics.enabled=true
|
||||
|
||||
#*************** Distro Related Configurations ***************#
|
||||
|
||||
### Distro data sync delay time, when sync task delayed, task will be merged for same data key. Default 1 second.
|
||||
# nacos.core.protocol.distro.data.sync.delayMs=1000
|
||||
### Distro data sync timeout for one sync data, default 3 seconds.
|
||||
# nacos.core.protocol.distro.data.sync.timeoutMs=3000
|
||||
### Distro data sync retry delay time when sync data failed or timeout, same behavior with delayMs, default 3 seconds.
|
||||
# nacos.core.protocol.distro.data.sync.retryDelayMs=3000
|
||||
### Distro data verify interval time, verify synced data whether expired for a interval. Default 5 seconds.
|
||||
# nacos.core.protocol.distro.data.verify.intervalMs=5000
|
||||
### Distro data verify timeout for one verify, default 3 seconds.
|
||||
# nacos.core.protocol.distro.data.verify.timeoutMs=3000
|
||||
### Distro data load retry delay when load snapshot data failed, default 30 seconds.
|
||||
# nacos.core.protocol.distro.data.load.retryDelayMs=30000
|
||||
### enable to support prometheus service discovery
|
||||
#nacos.prometheus.metrics.enabled=true
|
||||
|
||||
#*************** Grpc Configurations ***************#
|
||||
|
||||
### Sets the maximum message size allowed to be received on the server.
|
||||
#nacos.remote.server.grpc.sdk.max-inbound-message-size=10485760
|
||||
### Sets the time(milliseconds) without read activity before sending a keepalive ping. The typical default is two hours.
|
||||
#nacos.remote.server.grpc.sdk.keep-alive-time=7200000
|
||||
### Sets a time(milliseconds) waiting for read activity after sending a keepalive ping. Defaults to 20 seconds.
|
||||
#nacos.remote.server.grpc.sdk.keep-alive-timeout=20000
|
||||
### Sets a time(milliseconds) that specify the most aggressive keep-alive time clients are permitted to configure. The typical default is 5 minutes
|
||||
#nacos.remote.server.grpc.sdk.permit-keep-alive-time=300000
|
||||
### cluster grpc(inside the nacos server) configuration
|
||||
#nacos.remote.server.grpc.cluster.max-inbound-message-size=10485760
|
||||
### Sets the time(milliseconds) without read activity before sending a keepalive ping. The typical default is two hours.
|
||||
#nacos.remote.server.grpc.cluster.keep-alive-time=7200000
|
||||
### Sets a time(milliseconds) waiting for read activity after sending a keepalive ping. Defaults to 20 seconds.
|
||||
#nacos.remote.server.grpc.cluster.keep-alive-timeout=20000
|
||||
### Sets a time(milliseconds) that specify the most aggressive keep-alive time clients are permitted to configure. The typical default is 5 minutes
|
||||
#nacos.remote.server.grpc.cluster.permit-keep-alive-time=300000
|
||||
|
||||
#*************** Config Module Related Configurations ***************#
|
||||
|
||||
### the maximum retry times for push
|
||||
nacos.config.push.maxRetryTime=50
|
||||
|
||||
#*************** Naming Module Related Configurations ***************#
|
||||
### Data dispatch task execution period in milliseconds:
|
||||
|
||||
### If enable data warmup. If set to false, the server would accept request without local data preparation:
|
||||
nacos.naming.data.warmup=true
|
||||
|
||||
### If enable the instance auto expiration, kind like of health check of instance:
|
||||
# nacos.naming.expireInstance=true
|
||||
|
||||
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
|
||||
|
||||
#--------------- Nacos Web Server Configurations ---------------#
|
||||
|
||||
#*************** Nacos Web Server Related Configurations ***************#
|
||||
### Nacos Server Web context path:
|
||||
nacos.server.contextPath=${SERVER_SERVLET_CONTEXTPATH:/nacos}
|
||||
|
||||
#*************** Access Log Related Configurations ***************#
|
||||
### If turn on the access log:
|
||||
server.tomcat.accesslog.enabled=true
|
||||
|
||||
### accesslog automatic cleaning time
|
||||
server.tomcat.accesslog.max-days=30
|
||||
|
||||
### The access log pattern:
|
||||
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
|
||||
|
||||
### The directory of access log:
|
||||
server.tomcat.basedir=file:.
|
||||
|
||||
#*************** API Related Configurations ***************#
|
||||
### Include message field
|
||||
server.error.include-message=ALWAYS
|
||||
|
||||
### Enabled for open API compatibility
|
||||
# nacos.core.api.compatibility.client.enabled=true
|
||||
### Enabled for admin API compatibility
|
||||
# nacos.core.api.compatibility.admin.enabled=false
|
||||
### Enabled for console API compatibility
|
||||
# nacos.core.api.compatibility.console.enabled=false
|
||||
|
||||
#--------------- Nacos Console Configurations ---------------#
|
||||
|
||||
#*************** Nacos Console Related Configurations ***************#
|
||||
### Nacos Console Main port
|
||||
nacos.console.port=${NACOS_CONSOLE_PORT:8080}
|
||||
### Nacos Server Web context path:
|
||||
nacos.console.contextPath=${NACOS_CONSOLE_CONTEXTPATH:}
|
||||
|
||||
### Nacos Server context path, which link to nacos server `nacos.server.contextPath`, works when deployment type is `console`
|
||||
nacos.console.remote.server.context-path=${SERVER_SERVLET_CONTEXTPATH:/nacos}
|
||||
|
||||
#************** Console UI Configuration ***************#
|
||||
|
||||
### Turn on/off the nacos console ui.
|
||||
nacos.console.ui.enabled=true
|
||||
|
||||
#--------------- Nacos Plugin Configurations ---------------#
|
||||
|
||||
#*************** CMDB Plugin Related Configurations ***************#
|
||||
### The interval to dump external CMDB in seconds:
|
||||
# nacos.cmdb.dumpTaskInterval=3600
|
||||
|
||||
### The interval of polling data change event in seconds:
|
||||
# nacos.cmdb.eventTaskInterval=10
|
||||
|
||||
### The interval of loading labels in seconds:
|
||||
# nacos.cmdb.labelTaskInterval=300
|
||||
|
||||
### If turn on data loading task:
|
||||
# nacos.cmdb.loadDataAtStart=false
|
||||
|
||||
#*************** Auth Plugin Related Configurations ***************#
|
||||
### The ignore urls of auth, will be deprecated in the future:
|
||||
nacos.security.ignore.urls=${NACOS_SECURITY_IGNORE_URLS:/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**}
|
||||
|
||||
### The auth system to use, default 'nacos' and 'ldap' is supported, other type should be implemented by yourself:
|
||||
nacos.core.auth.system.type=${NACOS_AUTH_SYSTEM_TYPE:nacos}
|
||||
### worked when nacos.core.auth.system.type=nacos
|
||||
### The token expiration in seconds:
|
||||
nacos.core.auth.plugin.nacos.token.expire.seconds=${NACOS_AUTH_TOKEN_EXPIRE_SECONDS:18000}
|
||||
### The default token:
|
||||
nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:}
|
||||
|
||||
### If turn on auth system:
|
||||
# Whether open nacos server API auth system
|
||||
nacos.core.auth.enabled=false
|
||||
# Whether open nacos admin API auth system
|
||||
nacos.core.auth.admin.enabled=true
|
||||
# Whether open nacos console API auth system
|
||||
nacos.core.auth.console.enabled=true
|
||||
|
||||
### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
|
||||
nacos.core.auth.caching.enabled=${NACOS_AUTH_CACHE_ENABLE:false}
|
||||
nacos.core.auth.enable.userAgentAuthWhite=${NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE:false}
|
||||
|
||||
### worked when nacos.core.auth.enabled=true
|
||||
### The two properties is the white list for auth and used by identity the request from other server.
|
||||
nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:}
|
||||
nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_VALUE:}
|
||||
## spring security config
|
||||
### turn off security
|
||||
nacos.security.ignore.urls=${NACOS_SECURITY_IGNORE_URLS:/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**}
|
||||
# metrics for elastic search
|
||||
management.metrics.export.elastic.enabled=false
|
||||
management.metrics.export.influx.enabled=false
|
||||
nacos.naming.distro.taskDispatchThreadCount=10
|
||||
nacos.naming.distro.taskDispatchPeriod=200
|
||||
nacos.naming.distro.batchSyncKeyCount=1000
|
||||
nacos.naming.distro.initDataRatio=0.9
|
||||
nacos.naming.distro.syncRetryDelay=5000
|
||||
nacos.naming.data.warmup=true
|
||||
nacos.console.ui.enabled=true
|
||||
nacos.core.param.check.enabled=true
|
||||
|
||||
### worked when nacos.core.auth.system.type=nacos or nacos.core.auth.console.enabled=true
|
||||
### The token expiration in seconds:
|
||||
nacos.core.auth.plugin.nacos.token.cache.enable=false
|
||||
nacos.core.auth.plugin.nacos.token.expire.seconds=${NACOS_AUTH_TOKEN_EXPIRE_SECONDS:18000}
|
||||
### The default token (Base64 string):
|
||||
#nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
|
||||
nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:}
|
||||
|
||||
### worked when nacos.core.auth.system.type=ldap?{0} is Placeholder,replace login username
|
||||
#nacos.core.auth.ldap.url=ldap://localhost:389
|
||||
#nacos.core.auth.ldap.basedc=dc=example,dc=org
|
||||
#nacos.core.auth.ldap.userDn=cn=admin,${nacos.core.auth.ldap.basedc}
|
||||
#nacos.core.auth.ldap.password=admin
|
||||
#nacos.core.auth.ldap.userdn=cn={0},dc=example,dc=org
|
||||
#nacos.core.auth.ldap.filter.prefix=uid
|
||||
#nacos.core.auth.ldap.case.sensitive=true
|
||||
#nacos.core.auth.ldap.ignore.partial.result.exception=false
|
||||
|
||||
#*************** Control Plugin Related Configurations ***************#
|
||||
# plugin type
|
||||
#nacos.plugin.control.manager.type=nacos
|
||||
|
||||
# local control rule storage dir, default ${nacos.home}/data/connection and ${nacos.home}/data/tps
|
||||
#nacos.plugin.control.rule.local.basedir=${nacos.home}
|
||||
|
||||
# external control rule storage type, if exist
|
||||
#nacos.plugin.control.rule.external.storage=
|
||||
|
||||
#*************** Config Change Plugin Related Configurations ***************#
|
||||
# webhook
|
||||
#nacos.core.config.plugin.webhook.enabled=false
|
||||
# It is recommended to use EB https://help.aliyun.com/document_detail/413974.html
|
||||
#nacos.core.config.plugin.webhook.url=http://localhost:8080/webhook/send?token=***
|
||||
# The content push max capacity ,byte
|
||||
#nacos.core.config.plugin.webhook.contentMaxCapacity=102400
|
||||
|
||||
# whitelist
|
||||
#nacos.core.config.plugin.whitelist.enabled=false
|
||||
# The import file suffixs
|
||||
#nacos.core.config.plugin.whitelist.suffixs=xml,text,properties,yaml,html
|
||||
# fileformatcheck,which validate the import file of type and content
|
||||
#nacos.core.config.plugin.fileformatcheck.enabled=false
|
||||
|
||||
#*************** Istio Plugin Related Configurations ***************#
|
||||
### If turn on the MCP server:
|
||||
nacos.istio.mcp.server.enabled=false
|
||||
|
||||
#--------------- Nacos Experimental Features Configurations ---------------#
|
||||
|
||||
#*************** K8s Related Configurations ***************#
|
||||
### If turn on the K8s sync:
|
||||
nacos.k8s.sync.enabled=false
|
||||
|
||||
### If use the Java API from an application outside a kubernetes cluster
|
||||
#nacos.k8s.sync.outsideCluster=false
|
||||
#nacos.k8s.sync.kubeConfig=/.kube/config
|
||||
|
||||
#*************** Deployment Type Configuration ***************#
|
||||
|
||||
### Sets the deployment type: 'merged' for joint deployment, 'server' for separate deployment server only, 'console' for separate deployment console only.
|
||||
nacos.deployment.type=merged
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
# spring
|
||||
server.servlet.contextPath=${SERVER_SERVLET_CONTEXTPATH:/nacos}
|
||||
server.contextPath=/nacos
|
||||
server.port=${NACOS_APPLICATION_PORT:8848}
|
||||
server.tomcat.accesslog.max-days=30
|
||||
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
|
||||
server.tomcat.accesslog.enabled=${TOMCAT_ACCESSLOG_ENABLED:false}
|
||||
server.error.include-message=ALWAYS
|
||||
# default current work dir
|
||||
server.tomcat.basedir=file:.
|
||||
#*************** Config Module Related Configurations ***************#
|
||||
### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
|
||||
#spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:}
|
||||
spring.sql.init.platform=${SPRING_DATASOURCE_PLATFORM:}
|
||||
nacos.cmdb.dumpTaskInterval=3600
|
||||
nacos.cmdb.eventTaskInterval=10
|
||||
nacos.cmdb.labelTaskInterval=300
|
||||
nacos.cmdb.loadDataAtStart=false
|
||||
db.num=${MYSQL_DATABASE_NUM:1}
|
||||
db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
|
||||
db.user.0=${MYSQL_SERVICE_USER}
|
||||
db.password.0=${MYSQL_SERVICE_PASSWORD}
|
||||
## DB connection pool settings
|
||||
db.pool.config.connectionTimeout=${DB_POOL_CONNECTION_TIMEOUT:30000}
|
||||
db.pool.config.validationTimeout=10000
|
||||
db.pool.config.maximumPoolSize=20
|
||||
db.pool.config.minimumIdle=2
|
||||
### The auth system to use, currently only 'nacos' and 'ldap' is supported:
|
||||
nacos.core.auth.system.type=${NACOS_AUTH_SYSTEM_TYPE:nacos}
|
||||
### worked when nacos.core.auth.system.type=nacos
|
||||
### The token expiration in seconds:
|
||||
nacos.core.auth.plugin.nacos.token.expire.seconds=${NACOS_AUTH_TOKEN_EXPIRE_SECONDS:18000}
|
||||
### The default token:
|
||||
nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:}
|
||||
### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
|
||||
nacos.core.auth.caching.enabled=${NACOS_AUTH_CACHE_ENABLE:false}
|
||||
nacos.core.auth.enable.userAgentAuthWhite=${NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE:false}
|
||||
nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:}
|
||||
nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_VALUE:}
|
||||
## spring security config
|
||||
### turn off security
|
||||
nacos.security.ignore.urls=${NACOS_SECURITY_IGNORE_URLS:/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**}
|
||||
# metrics for elastic search
|
||||
management.metrics.export.elastic.enabled=false
|
||||
management.metrics.export.influx.enabled=false
|
||||
nacos.naming.distro.taskDispatchThreadCount=10
|
||||
nacos.naming.distro.taskDispatchPeriod=200
|
||||
nacos.naming.distro.batchSyncKeyCount=1000
|
||||
nacos.naming.distro.initDataRatio=0.9
|
||||
nacos.naming.distro.syncRetryDelay=5000
|
||||
nacos.naming.data.warmup=true
|
||||
nacos.console.ui.enabled=true
|
||||
nacos.core.param.check.enabled=true
|
||||
|
||||
|
|
@ -3,4 +3,4 @@ MODE=standalone
|
|||
SPRING_DATASOURCE_PLATFORM=mysql
|
||||
NACOS_AUTH_IDENTITY_KEY=2222
|
||||
NACOS_AUTH_IDENTITY_VALUE=2xxx
|
||||
NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
|
||||
NACOS_AUTH_TOKEN=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
|
|
@ -1,12 +1,7 @@
|
|||
#nacos dev env
|
||||
PREFER_HOST_MODE=hostname
|
||||
EMBEDDED_STORAGE=embedded
|
||||
NACOS_SERVERS=nacos1:8848 nacos2:8849 nacos3:8850
|
||||
SPRING_DATASOURCE_PLATFORM=mysql
|
||||
MYSQL_SERVICE_DB_NAME=nacos_devtest
|
||||
MYSQL_SERVICE_PORT=3306
|
||||
MYSQL_SERVICE_USER=nacos
|
||||
MYSQL_SERVICE_PASSWORD=nacos
|
||||
NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848
|
||||
NACOS_AUTH_IDENTITY_KEY=2222
|
||||
NACOS_AUTH_IDENTITY_VALUE=2xxx
|
||||
NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
|
||||
NACOS_AUTH_TOKEN=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
|
|
@ -9,4 +9,4 @@ MYSQL_SERVICE_PASSWORD=nacos
|
|||
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
|
||||
NACOS_AUTH_IDENTITY_KEY=2222
|
||||
NACOS_AUTH_IDENTITY_VALUE=2xxx
|
||||
NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
|
||||
NACOS_AUTH_TOKEN=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
|
||||
|
|
|
@ -9,4 +9,4 @@ MYSQL_SERVICE_PASSWORD=nacos
|
|||
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
|
||||
NACOS_AUTH_IDENTITY_KEY=2222
|
||||
NACOS_AUTH_IDENTITY_VALUE=2xxx
|
||||
NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
|
||||
NACOS_AUTH_TOKEN=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
|
||||
|
|
|
@ -9,4 +9,4 @@ MYSQL_SERVICE_PASSWORD=nacos
|
|||
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
||||
NACOS_AUTH_IDENTITY_KEY=2222
|
||||
NACOS_AUTH_IDENTITY_VALUE=2xxx
|
||||
NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
|
||||
NACOS_AUTH_TOKEN=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
|
|
@ -1 +1 @@
|
|||
NACOS_VERSION=v2.4.1
|
||||
NACOS_VERSION=v3.0.2
|
||||
|
|
|
@ -8,6 +8,7 @@ services:
|
|||
- ./cluster-logs/nacos1:/home/nacos/logs
|
||||
ports:
|
||||
- "7848:7848"
|
||||
- "8080:8080"
|
||||
- "8848:8848"
|
||||
- "9868:9848"
|
||||
- "9850:9849"
|
||||
|
@ -23,6 +24,7 @@ services:
|
|||
- ./cluster-logs/nacos2:/home/nacos/logs
|
||||
ports:
|
||||
- "7849:7848"
|
||||
- "8080:8080"
|
||||
- "8849:8848"
|
||||
- "9869:9848"
|
||||
- "9851:9849"
|
||||
|
@ -37,6 +39,7 @@ services:
|
|||
- ./cluster-logs/nacos3:/home/nacos/logs
|
||||
ports:
|
||||
- "7850:7848"
|
||||
- "8080:8080"
|
||||
- "8850:8848"
|
||||
- "9870:9848"
|
||||
- "9852:9849"
|
||||
|
|
|
@ -8,6 +8,7 @@ services:
|
|||
- ./cluster-logs/nacos1:/home/nacos/logs
|
||||
ports:
|
||||
- "7848:7848"
|
||||
- "8080:8080"
|
||||
- "8848:8848"
|
||||
- "9868:9848"
|
||||
- "9850:9849"
|
||||
|
@ -26,6 +27,7 @@ services:
|
|||
- ./cluster-logs/nacos2:/home/nacos/logs
|
||||
ports:
|
||||
- "7849:7848"
|
||||
- "8080:8080"
|
||||
- "8849:8848"
|
||||
- "9869:9848"
|
||||
- "9851:9849"
|
||||
|
@ -43,6 +45,7 @@ services:
|
|||
- ./cluster-logs/nacos3:/home/nacos/logs
|
||||
ports:
|
||||
- "7850:7848"
|
||||
- "8080:8080"
|
||||
- "8850:8848"
|
||||
- "9870:9848"
|
||||
- "9852:9849"
|
||||
|
|
|
@ -9,6 +9,7 @@ services:
|
|||
volumes:
|
||||
- ./cluster-logs/nacos1:/home/nacos/logs
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8848:8848"
|
||||
- "9848:9848"
|
||||
env_file:
|
||||
|
@ -27,6 +28,7 @@ services:
|
|||
volumes:
|
||||
- ./cluster-logs/nacos2:/home/nacos/logs
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8849:8848"
|
||||
- "9849:9848"
|
||||
env_file:
|
||||
|
@ -44,6 +46,7 @@ services:
|
|||
volumes:
|
||||
- ./cluster-logs/nacos3:/home/nacos/logs
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8850:8848"
|
||||
- "9850:9848"
|
||||
env_file:
|
||||
|
|
|
@ -4,10 +4,11 @@ services:
|
|||
image: nacos/nacos-server:${NACOS_VERSION}
|
||||
container_name: nacos-standalone-mysql
|
||||
env_file:
|
||||
- ../env/nacos-standlone-mysql.env
|
||||
- ../env/nacos-standalone-mysql.env
|
||||
volumes:
|
||||
- ./standalone-logs/:/home/nacos/logs
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8848:8848"
|
||||
- "9848:9848"
|
||||
- "9849:9849"
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
ARG TARGETPLATFORM
|
||||
FROM --platform=${TARGETPLATFORM:-linux/amd64} mysql:5.7.40
|
||||
ADD https://raw.githubusercontent.com/alibaba/nacos/develop/distribution/conf/mysql-schema.sql /docker-entrypoint-initdb.d/nacos-mysql.sql
|
||||
RUN chown -R mysql:mysql /docker-entrypoint-initdb.d/nacos-mysql.sql
|
||||
EXPOSE 3306
|
||||
CMD ["mysqld", "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"]
|
|
@ -0,0 +1,6 @@
|
|||
ARG TARGETPLATFORM
|
||||
FROM --platform=${TARGETPLATFORM:-linux/amd64} mysql:8.0.31
|
||||
ADD https://raw.githubusercontent.com/alibaba/nacos/develop/distribution/conf/mysql-schema.sql /docker-entrypoint-initdb.d/nacos-mysql.sql
|
||||
RUN chown -R mysql:mysql /docker-entrypoint-initdb.d/nacos-mysql.sql
|
||||
EXPOSE 3306
|
||||
CMD ["mysqld", "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"]
|
|
@ -0,0 +1,33 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# 加载 NACOS_VERSION
|
||||
source .env
|
||||
CLEAN_VERSION=${NACOS_VERSION#v}
|
||||
|
||||
SCHEMA_URL="https://raw.githubusercontent.com/alibaba/nacos/${CLEAN_VERSION}/distribution/conf/mysql-schema.sql"
|
||||
|
||||
TARGET_DIR="./mysql-init"
|
||||
VERSIONED_FILE="${TARGET_DIR}/${NACOS_VERSION}-mysql-schema.sql"
|
||||
FINAL_FILE="${TARGET_DIR}/mysql-schema.sql"
|
||||
|
||||
# 创建目录
|
||||
mkdir -p "${TARGET_DIR}"
|
||||
|
||||
# 下载 schema 文件
|
||||
echo "⬇️ Downloading MySQL schema for Nacos ${CLEAN_VERSION}..."
|
||||
curl -sSL "$SCHEMA_URL" -o "${VERSIONED_FILE}"
|
||||
|
||||
# 校验下载
|
||||
if [ ! -s "${VERSIONED_FILE}" ]; then
|
||||
echo "❌ Failed to download schema file from $SCHEMA_URL"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 拷贝为标准文件名供 MySQL 初始化使用
|
||||
cp "${VERSIONED_FILE}" "${FINAL_FILE}"
|
||||
|
||||
# 删除原始版本号文件
|
||||
rm -f "${VERSIONED_FILE}"
|
||||
|
||||
echo "✅ Downloaded and prepared: ${FINAL_FILE}"
|
|
@ -8,10 +8,11 @@ services:
|
|||
- MODE=standalone
|
||||
- NACOS_AUTH_IDENTITY_KEY=serverIdentity
|
||||
- NACOS_AUTH_IDENTITY_VALUE=security
|
||||
- NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
|
||||
- NACOS_AUTH_TOKEN=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
|
||||
volumes:
|
||||
- ./standalone-logs/:/home/nacos/logs
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8848:8848"
|
||||
- "9848:9848"
|
||||
prometheus:
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
version: "3.8"
|
||||
services:
|
||||
nacos:
|
||||
image: nacos/nacos-server:${NACOS_VERSION}
|
||||
container_name: nacos-standalone-mysql
|
||||
env_file:
|
||||
- ../env/custom-application-config.env
|
||||
volumes:
|
||||
- ./standalone-logs/:/home/nacos/logs
|
||||
- ./init.d/application.properties:/home/nacos/conf/application.properties
|
||||
ports:
|
||||
- "8848:8848"
|
||||
- "9848:9848"
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
|
||||
restart: on-failure
|
||||
mysql:
|
||||
container_name: mysql
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./image/mysql/5.7/Dockerfile
|
||||
image: example/mysql:5.7
|
||||
env_file:
|
||||
- ../env/mysql.env
|
||||
volumes:
|
||||
- ./mysql:/var/lib/mysql
|
||||
ports:
|
||||
- "3306:3306"
|
||||
healthcheck:
|
||||
test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
|
|
@ -4,10 +4,11 @@ services:
|
|||
image: nacos/nacos-server:${NACOS_VERSION}
|
||||
container_name: nacos-standalone-mysql
|
||||
env_file:
|
||||
- ../env/nacos-standlone-mysql.env
|
||||
- ../env/nacos-standalone-mysql.env
|
||||
volumes:
|
||||
- ./standalone-logs/:/home/nacos/logs
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8848:8848"
|
||||
- "9848:9848"
|
||||
depends_on:
|
||||
|
@ -16,14 +17,15 @@ services:
|
|||
restart: always
|
||||
mysql:
|
||||
container_name: mysql
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./image/mysql/8/Dockerfile
|
||||
image: example/mysql:8.0.30
|
||||
image: mysql:8.0.30
|
||||
env_file:
|
||||
- ../env/mysql.env
|
||||
volumes:
|
||||
- ./mysql:/var/lib/mysql
|
||||
- ./mysql-init:/docker-entrypoint-initdb.d/
|
||||
command:
|
||||
--character-set-server=utf8mb4
|
||||
--collation-server=utf8mb4_unicode_ci
|
||||
ports:
|
||||
- "3306:3306"
|
||||
healthcheck:
|
Loading…
Reference in New Issue