docker环境安装部署Nacos

Nacos注册中心搭建

  • docker拉取镜像
 docker pull nacos/nacos-server
  • 查看镜像
 docker images
  • 启动Nacos
docker run --env MODE=standalone --name yilu-nacos -d -p 8848:8848  nacos/nacos-server
  • 查看日志
docker logs -f 
  • 访问Nacos(记得开放阿里云的网络安全组)
http://公网ip:8848/nacos

# 登录密码默认nacos/nacos

Nacos配置Mysql持久化

  • nacos数据库脚本
    • 导入数据库脚本
    • 新增一个用户 nacos/nacos
INSERT INTO `users` (`username`, `password`, `enabled`)
  VALUES
  	('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', 1);
  • mysql最好使用5.7版本(业界用的比较多,稳定)
    • docker 启动mysql5.7
docker pull mysql:5.7
  • 新建文件
mkdir   /usr/local/dockerdata/mysql/conf
mkdir  /usr/local/dockerdata/mysql/logs
mkdir  /usr/local/dockerdata/mysql/mysql

在这里插入图片描述

 [client]
 default-character-set = utf8mb4
 
 [mysql]
 default-character-set = utf8mb4
 [mysqld]
 character-set-client-handshake = FALSE
 character-set-server = utf8mb4
 collation-server = utf8mb4_unicode_ci
 init_connect='SET NAMES utf8mb4'
 
 default-time_zone = '+8:00' #默认时区配置
 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
 #设置数据库支持分组
 lower_case_table_names=1 #表名不区分大小写
  • 启动Mysql
 docker run --restart always -p 3306:3306 --name mysql -v /usr/local/dockerdata/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/local/dockerdata/mysql/logs:/logs -v /usr/local/dockerdata/mysql/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=xxx -d mysql:5.7
    
    
#启动
docker exec -it mysql bash

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxx' WITH GRANT OPTION;

flush privileges
  • 本地连接

  • 启动Nacos命令

docker run -d \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=120.76.142.251 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=XXX \
-e MYSQL_SERVICE_DB_NAME=yilu_nacos \
-p 7999:8848 \
--restart=always \
--name nacos \
nacos/nacos-server 
  • 访问(大家改成自己的ip)
    • http://127.0.0.1:7999/nacos

Nacos配置中心配置

在这里插入图片描述

  • 测试是否可以获取配置
    地址:http://IP:7999/nacos/v1/cs/configs?dataId=yilu-coupon-server-dev.yaml&group=DEFAULT_GROUP
### 回答1: 1. 首先,在本地安装DockerDocker Compose。 2. 在本地创建一个文件夹,例如nacos,用于存放nacos的配置文件和docker-compose.yml文件。 3. 在nacos文件夹中创建一个名为docker-compose.yml的文件,内容如下: ``` version: '3' services: nacos: image: nacos/nacos-server:latest container_name: nacos ports: - "8848:8848" volumes: - ./data:/home/nacos/data - ./logs:/home/nacos/logs - ./init.d:/home/nacos/init.d environment: - MODE=standalone ``` 4. 在nacos文件夹中创建一个名为data的文件夹,用于存放nacos的数据。 5. 在nacos文件夹中创建一个名为logs的文件夹,用于存放nacos的日志。 6. 在nacos文件夹中创建一个名为init.d的文件夹,用于存放nacos的初始化脚本。 7. 在终端中进入nacos文件夹,执行以下命令启动nacos: ``` docker-compose up -d ``` 8. 等待一段时间后,可以通过浏览器访问http://localhost:8848/nacos/,即可进入nacos的管理界面。 注意:在生产环境中,需要根据实际情况修改docker-compose.yml文件中的配置,例如修改端口号、数据存储路径等。 ### 回答2: 在使用Docker进行应用部署时,使用Docker Compose进行编排配置是最佳实践之一。Nacos是一个开源的注册中心和配置中心,它提供了一种方便的方式来管理应用程序的配置信息。本文将介绍如何使用Docker Compose搭建Nacos服务。 首先,我们需要准备好DockerDocker Compose,并建立一个nacos项目目录,这个目录下包含一个docker-compose.yml文件和一些Dockerfile文件。 接着,我们需要在docker-compose.yml文件中编写以下内容: ``` version: '3' services: nacos-server: build: . ports: - "8848:8848" environment: - PREFER_HOST_MODE=hostname volumes: - ./data:/data/nacos nacos-mysql: image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: nacos ports: - "3306:3306" volumes: - ./mysql/data:/var/lib/mysql ``` 在上面的docker-compose文件中,我们指定了2个服务: nacos-server:Nacos服务端,使用Dockerfile进行构建,并映射服务的端口到主机8848端口上,然后指定使用hostname模式;最后将Nacos的数据目录映射到主机上。 nacos-mysql:使用MySQL的容器,指定root密码,并将MySQL的数据目录映射到主机上。我们使用MySQL来存储Nacos的数据。 接下来,我们需要创建一个Dockerfile文件来构建nacos-server: ``` FROM openjdk:8-jdk-alpine ENV SERVER_PORT=8848 ADD nacos-server-*.zip /nacos-server-1.0.0.zip WORKDIR /root/nacos RUN unzip /nacos-server-1.0.0.zip && \ rm -f /nacos-server-1.0.0.zip WORKDIR /root/nacos/nacos-server-1.0.0/bin ENTRYPOINT ["sh", "startup.sh"] ``` 在这个Dockerfile中,我们使用openjdk:8-jdk-alpine镜像作为基础镜像,并将nacos-server的zip包添加到容器中。接着,我们解压zip包,使用startup.sh启动Nacos。 最后,我们需要运行docker-compose,生成我们的服务: $ docker-compose up -d 以上就是使用Docker Compose部署Nacos服务的方法。通过简单的docker-compose.yml以及Dockerfile文件,我们能够快速地构建和部署应用程序,并通过Docker的强大特性来管理应用程序。 ### 回答3: Nacos是一个分布式系统服务发现、配置管理和服务管理平台,可以用来管理zookeeper实例、RDS实例、Dubbo和Spring Cloud的服务实例等。Docker-Compose是一个快速部署容器化应用的工具,可以通过编写YAML文件来定义应用服务和容器的配置。 下面是部署nacos的步骤: 1.安装DockerDocker-Compose。 2.创建nacos的配置文件nacos-docker.yml: version: '3' services: nacos: image: nacos/nacos-server:latest container_name: nacos restart: always ports: - "8848:8848" environment: - PREFER_HOST_MODE=hostname - MODE=standalone - SPRING_DATASOURCE_PLATFORM=mysql - MYSQL_SERVICE_HOST=127.0.0.1 - MYSQL_SERVICE_DB_NAME=nacos - MYSQL_SERVICE_PORT=3306 - MYSQL_SERVICE_USER=nacos - MYSQL_SERVICE_PASSWORD=nacos volumes: - /opt/nacos/logs:/home/nacos/logs 在该文件中,定义了一个名为nacos容器,使用了nacos/nacos-server:latest镜像,指定了容器的端口,采用数据库作为持久化存储,设置了环境变量,将日志存储到本地磁盘上。需要设置MYSQL_SERVICE_HOST、MYSQL_SERVICE_DB_NAME、MYSQL_SERVICE_PORT、MYSQL_SERVICE_USER和MYSQL_SERVICE_PASSWORD这些环境变量,以连接到MySQL数据库。 3.创建MySQL数据库实例: 将nacos-server-1.3.0\nacos-mysql.sql导入到MySQL实例中,创建nacos数据库,并执行以下命令: docker run -d --name mysql \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=root \ -e MYSQL_USER=nacos \ -e MYSQL_PASSWORD=nacos \ -e MYSQL_DATABASE=nacos \ mysql/mysql-server:5.7 4.启动nacos容器docker-compose -f nacos-docker.yml up -d 5.访问nacos控制台: 在浏览器中输入http://localhost:8848/nacos,即可访问nacos控制台。 6.使用nacos: 在控制台中可以对服务进行管理,如注册、发现、配置、管理等。在Spring Cloud应用中,可以使用@EnableDiscoveryClient注解启用服务注册和发现功能,使用@NacosPropertySource注解启用配置管理功能。 总体而言,使用Docker-Compose部署nacos非常简单,只需要编写几行YAML文件即可快速部署和管理应用服务。同时,Docker还提供了容器级别的隔离和安全性,可以有效地保障应用的稳定性和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值