Docker 安装nacos

转载参考:https://blog.csdn.net/xieqing_xq/article/details/105458887

1、拉取Nacos镜像到本地docker

[root@10-13-4-243 ~]# docker pull nacos/nacos-server
Using default tag: latest
latest: Pulling from nacos/nacos-server
5ad559c5ae16: Pull complete 
a2e30b74e44b: Pull complete 
385912b57b4a: Pull complete 
68acb598407d: Pull complete 
6da34daed01e: Pull complete 
d0cdcbcde94c: Pull complete 
4e0096b44911: Pull complete 
5296eae70ba4: Pull complete 
a2d52873c1a0: Pull complete 
2a892c27ed04: Pull complete 
3a670bc37ae9: Pull complete 
Digest: sha256:6fa22b9221c571aa66e9675547e8d5ecd403bca01aca7c68957b7c2ae362477a
Status: Downloaded newer image for nacos/nacos-server:latest
docker.io/nacos/nacos-server:latest

2、查看镜像

[root@10-13-4-243 ~]# docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
nacos/nacos-server   latest              ef8e53226440        5 days ago          914MB

3、新建nacos容器

[root@10-13-4-243 /]# docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server
3c5f13bfd7a96e47cabf34c74a0f9749f2b014540c2b556f12aeb290e014b015

或用更详细的配置参数

docker run -d \
--name nacos\
--network common-network \
-e PREFER_HOST_MODE=hostname \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_MASTER_SERVICE_HOST=mysql-master \
-e MYSQL_MASTER_SERVICE_PORT=3306 \
-e MYSQL_MASTER_SERVICE_USER=root \
-e MYSQL_MASTER_SERVICE_PASSWORD=Passw0rd \
-e MYSQL_MASTER_SERVICE_DB_NAME=nacos \
-e MYSQL_SLAVE_SERVICE_HOST=mysql-slave \
-e MYSQL_SLAVE_SERVICE_PORT=3306 \
-p 8848:8848 \
nacos/nacos-server

配置参数说明:

配置项描述可选参数默认值
MODE模式 cluster/standalonecluster/standalonecluster
PREFER_HOST_MODE是否支持 hostnamehostname/ipip
NACOS_SERVER_PORT服务端口号 8848
SPRING_DATASOURCE_PLATFORM单机模式支持 mysqlmysql / emptyempty
MYSQL_MASTER_SERVICE_HOSTmysql 主节点 host  
MYSQL_MASTER_SERVICE_PORTmysql 主节点 port 3306
MYSQL_MASTER_SERVICE_DB_NAMEmysql 主节点数据库名  
MYSQL_MASTER_SERVICE_USERmysql 主节点用户名  
MYSQL_MASTER_SERVICE_PASSWORDmysql 主节点密码  
MYSQL_SLAVE_SERVICE_HOSTmysql 从节点 host  
MYSQL_SLAVE_SERVICE_PORTmysql 从节点 port 

3306

 

 

 

4、查看启动的容器

[root@10-13-4-243 ~]# docker ps
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                    NAMES
3c5f13bfd7a9        nacos/nacos-server   "bin/docker-startup.…"   12 hours ago        Up 18 minutes       0.0.0.0:8848->8848/tcp   nacos

5、浏览器访问 http://ip/nacos,即可见到界面。

6、nacos数据库

Nacos 在 0.7 版本之前,默认使用的是嵌入式数据库 Apache Derby 来存储数据(内嵌的数据库会随着 Nacos 一起启动,无需额外安装);0.7 版本及以后,增加了对 MySQL 数据源的支持。

7、若使用mysql数据库

  • 进入nacos容器修改配置
[root@10-13-4-243 home]# docker exec -it nacos bash
[root@3c5f13bfd7a9 nacos]# cd conf/
[root@3c5f13bfd7a9 conf]# ls
application.properties  nacos-logback.xml  schema.sql
[root@3c5f13bfd7a9 conf]# vi application.properties 
  • 修改配置文件

jdbc连接数据库的编码也要正确

db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST:172.16.0.12}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME:nacos_config}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=${MYSQL_SSL_ENABLE:false

如果数据库nacos_config的字符集是utf8,这地方就填utf8,如果nacos_config字符集是utf8mb4,连接的时候用utf8就失败了。nacos就无法运行。

 

  • 数据库表
https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql
  • 重启容器
docker restart nacos

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值