nacos持续MalformedInputException: Input length = 1
时间: 2023-10-11 16:28:09 浏览: 95
这个问题通常是由于Nacos客户端的编码格式与服务端不一致所导致的。你可以尝试以下解决方法:
1. 在启动Nacos客户端的JVM参数中增加-Dfile.encoding=UTF-8,强制指定编码格式为UTF-8。
2. 确认Nacos服务端和客户端的编码格式是否一致,如果不一致,在客户端中进行相应的编码转换。
3. 如果以上方法都没有解决问题,你可以在Nacos客户端的配置文件中增加以下配置项:
```
nacos.client.encoding=utf-8
```
这样可以强制指定客户端的编码格式为UTF-8,解决乱码问题。
相关问题
请用docker-compose把下面的代码写出来:docker run -d -v /etc/localtime:/etc/localtime -v /data/docker/nacos_docker/logs:/home/nacos/logs -e MODE=standalone -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=172.17.90.18 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=Root@123! -e MYSQL_SERVICE_DB_NAME=nacos_config -p 8848:8848 -p 9848:9848 -p 9849:9849 -- network host --name nacos nacos/nacos-server:v2.1.2
可以尝试以下docker-compose.yml文件:
```
version: '3'
services:
nacos:
image: nacos/nacos-server:v2.1.2
container_name: nacos
volumes:
- /etc/localtime:/etc/localtime
- /data/docker/nacos_docker/logs:/home/nacos/logs
environment:
MODE: standalone
SPRING_DATASOURCE_PLATFORM: mysql
MYSQL_SERVICE_HOST: 172.17.90.18
MYSQL_SERVICE_USER: root
MYSQL_SERVICE_PASSWORD: Root@123!
MYSQL_SERVICE_DB_NAME: nacos_config
ports:
- "8848:8848"
- "9848:9848"
- "9849:9849"
network_mode: host
```
注意,在docker-compose.yml文件中,可以使用"volumes"来代替"-v",使用"environment"来代替"-e",使用"ports"来代替"-p"等命令。同时要注意格式缩进,以及在容器名和网络模式上的差别。
把这串代码用docker run写出来: nacos-s3: image: nacos/nacos-server container_name: nacos-s3 hostname: nacos-s3 # restart: always volumes: - /etc/localtime:/etc/localtime - /mydata/nacos-s3/logs:/home/nacos/logs environment: PREFER_HOST_MODE: ip MODE: cluster NACOS_SERVERS: "192.168.2.100:8849 192.168.2.100:8848 192.168.2.100:8847" SPRING_DATASOURCE_PLATFORM: mysql MYSQL_SERVICE_HOST: 192.168.2.102 MYSQL_SERVICE_USER: root MYSQL_SERVICE_PASSWORD: 123456 MYSQL_SERVICE_DB_NAME: nacos-conf ports: - "8847:8848"
可以使用以下命令来在 Docker 中运行这个代码:
```
docker run -d \
--name nacos-s3 \
--hostname nacos-s3 \
-v /etc/localtime:/etc/localtime \
-v /mydata/nacos-s3/logs:/home/nacos/logs \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="192.168.2.100:8849 192.168.2.100:8848 192.168.2.100:8847" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.2.102 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e MYSQL_SERVICE_DB_NAME=nacos-conf \
-p 8847:8848 \
nacos/nacos-server
```
这个命令将会以后台模式启动一个容器,并且将其命名为 `nacos-s3`,并且将其主机名设置为 `nacos-s3`。然后它将会将本地时间挂载到容器中,并将 Nacos 的日志文件挂载到 `/mydata/nacos-s3/logs` 目录中。接下来,它会设置一些环境变量,包括 `PREFER_HOST_MODE`,`MODE`,`NACOS_SERVERS`,`SPRING_DATASOURCE_PLATFORM`,`MYSQL_SERVICE_HOST`,`MYSQL_SERVICE_USER`,`MYSQL_SERVICE_PASSWORD` 和 `MYSQL_SERVICE_DB_NAME`。最后,它会将容器的 8848 端口映射到主机的 8847 端口。
阅读全文