nacos部署
| Nacos 版本 | v2.2.3 |
| MySQL 地址 | 111.111.111.111:3306 |
| 部署目录 | /data/nacos2.2.3 |
1.先创建数据目录
比如我想在/data目录下部署nacos服务,先使用管理员权限创建文件夹,并且来到nacos2.2.3文件夹下
sudo mkdir -p /data/nacos2.2.3/{logs,data} cd /data/nacos2.2.32.下载sql脚本,执行完之后会在目录下看到一个文件上图已经有了mysql-schema.sql
wget https://raw.githubusercontent.com/alibaba/nacos/2.2.3/distribution/conf/mysql-schema.sql
# 如果 wget 失败,可以用临时容器复制(这个第一次部署遇到了,后面部署就没遇到):
# sudo docker run -d --name temp-nacos docker.m.daocloud.io/nacos/nacos-server:v2.2.3
# sudo docker cp temp-nacos:/home/nacos/conf/mysql-schema.sql .
# sudo docker rm -f temp-nacos
3.创建数据库并且导入表结构
下面这个语句示例是mysql部署在111.111.111.111服务器上,账号是root,密码是123456,根据自己的实际情况修改数值
docker run --rm mysql:8.0 \ bash -c 'mysql -h111.111.111.111-uroot-p"123456" -e "CREATE DATABASE IF NOT EXISTS nacos CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"'
docker run --rm \ -v $(pwd):/tmp \ mysql:8.0 \ bash -c 'mysql -h111.111.111.111-uroot-p"123456" nacos < /tmp/mysql-schema.sql'
4.创建docker-compose文件(不直接使用docker-run便于后期维护)
下面文件假设数据库都部署到了3306接口
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
nacos:
image: docker.m.daocloud.io/nacos/nacos-server:v2.2.3
container_name: nacos
restart: always
ports:
- "8848:8848"
- "9848:9848"
environment:
MODE: standalone
JVM_XMS: 1g
JVM_XMX: 1g
SPRING_DATASOURCE_PLATFORM: mysql
MYSQL_SERVICE_HOST:111.111.111.111
MYSQL_SERVICE_PORT: 3306
MYSQL_SERVICE_DB_NAME: nacos
MYSQL_SERVICE_USER:root
MYSQL_SERVICE_PASSWORD:123456
MYSQL_SERVICE_DB_PARAM: 'allowPublicKeyRetrieval=true&useSSL=false'
NACOS_AUTH_ENABLE: 'true'
NACOS_AUTH_TOKEN: '9jQ0GBSbRaYLWz+wO6RY9W9iE84BxPGIqlvXgvL7rCk='
NACOS_AUTH_IDENTITY_KEY: serverIdentity
NACOS_AUTH_IDENTITY_VALUE: myServerIdentity
volumes:
- ./logs:/home/nacos/logs
- ./data:/home/nacos/data
networks:
- nacos-network
networks:
nacos-network:
driver: bridge
EOF
5.启动容器
docker-compose up -d
6. 等待启动并查
sleep 30
sudo docker logs nacos --tail 30
7. 访问控制台
以部署到111.111.111.111为例,默认端口8848,访问地址 http://111.111.111.111:8848/nacos
默认用户名/密码:nacos / nacos
8. 登录后修改密码(控制台右上角 -> 修改密码)
