docker搭建nacos

Nacos搭建:

环境、资源准备:

Docker容器安装:

使用官方安装脚本自动安装:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

卸载 docker
删除安装包:

yum remove docker-ce

删除镜像、容器、配置文件等内容:

rm -rf /var/lib/docker

Docker安装MySQL:

因为nacos还没有完全兼容MySQL8.0,所以这边我们安装的是5.7的版本。8.0自行百度?,官网链接

#下载镜像
docker pull mysql:5.7

#查看是否安装镜像
docker images

#运行容器
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。

#查看容器
docker ps

#进入容器
docker exec -it mysql /bin/bash

进入容器之后登录MySQL并设置远程访问用户:

#登录mysql
mysql -u root -p

#添加远程登录用户
CREATE USER 'nacos'@'%' IDENTIFIED WITH mysql_native_password BY 'nacos!';
GRANT ALL PRIVILEGES ON *.* TO 'nacos'@'%';


'nacos'@'%' %表示用户所有地址可以访问到数据库  'nacos'@'localhost' 表示只能本地访问
 *.* 用户访问权限 表示所有数据库和表  nacos.* 表示只能访问nacos数据库下的所有表

Docker安装Nacos:

#拉取最新nacos镜像
docker pull nacos/nacos-server:latest


#查看是否安装镜像
docker images

#运行容器
docker run -d --name nacos -p 8848:8848 -e PREFER_HOST_MODE=hostname -e MODE=standalone nacos/nacos-server

至此,我们已经可以使用nacos服务,UI地址:http://localhost:8848/nacos 账号:nacos 密码:nacos。接下来配置连接数据库不使用自己的:
首先需要在数据库创建对应的nacos数据库,并执行sql文件。nacos-db.sql

#进入容器
docker exec -it nacos /bin/bash

#修改 conf/application.properties 内容如下:
vim conf/application.properties

# spring
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
server.tomcat.basedir=
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://<ip>:<port>/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=password

#退出容器
exit

#重启容器
docker restart nacos

搭建Maven项目:

创建Maven工程,导入依赖。

<properties>
    <spring.cloud.alibaba-version>2021.1</spring.cloud.alibaba-version>
</properties>

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>${spring.cloud.alibaba-version}</version>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>${spring.cloud.alibaba-version}</version>
</dependency>

编写启动类:

@EnableDiscoveryClient //注册到Nacos
@SpringBootApplication
public class GateWayApplication {

    public static void main(String[] args) {
        SpringApplication.run(GateWayApplication.class,args);
    }

}

配置对应的application.yml文件:

server:
  port: 9089

spring:
  application:
    name: gatewat #应用服务名
  cloud:
    nacos:
      discovery: #服务注册与发现
        server-addr: localhost:8848
      config: #配置中心
        server-addr: localhost:8848
        file-extension: yaml
        username: nacos
        password: nacos

以上就完成了Nacos的部署与搭建!???


版权声明:本文为qq_41681904原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。