开发者社区 > 云原生 > 中间件 > 正文

请问一下seata1.5.0 docker部署如何注册到Nacos上呢?

请问一下seata1.5.0 docker部署如何注册到Nacos上呢? 根据官方文档没找到registry.conf是怎么回事啊? lQLPJxZy6khvbsjNAaXNAv6wBl5IkoGjEIQCvVfjO0BvAA_766_421.png

展开
收起
fuxixi 2022-07-01 14:39:58 1182 0
6 条回答
写回答
取消 提交回答
  • 1、先拉镜像启动并拷贝镜像内自带的配置文件。

    docker pull seata-server:1.5.1
    

    2、启动seata-servcer实例,防火墙开放相应端口。

    docker run --name seata-server -p 8091:8091 -p 7091:7091 seataio/seata-server:1.5.1
    

    3、自定义配置文件需要通过挂载文件的方式实现,将宿主机上的 application.yml 挂载到容器中相应的目录。

    docker cp seata-serve:/seata-server/resources /var/docker/seata/config/
    

    4、只需要改动application.yml里的配置,application.example.yml有完整的配置,直接复制过来,ip改宿主机的地址。

    server:
      port: 7091
    
    spring:
      application:
        name: seata-server
    
    logging:
      config: classpath:logback-spring.xml
      file:
        path: ${user.home}/logs/seata
      extend:
        logstash-appender:
          destination: 127.0.0.1:4560
        kafka-appender:
          bootstrap-servers: 127.0.0.1:9092
          topic: logback_to_logstash
    #这里我改了登录时默认的用户id和psw
    console:
      user:
        username: admin
        password: admin
    
    seata:
      config:
        # support: nacos, consul, apollo, zk, etcd3
        type: nacos
        nacos:
          server-addr: localhost:8848
          namespace:
          group: SEATA_GROUP
          username:
          password:
          ##if use MSE Nacos with auth, mutex with username/password attribute
          #access-key: ""
          #secret-key: ""
          data-id: seataServer.properties
      registry:
        # support: nacos, eureka, redis, zk, consul, etcd3, sofa
        type: nacos
        preferred-networks: 30.240.*
        nacos:
          application: seata-server
          server-addr: localhost:8848
          group: SEATA_GROUP
          namespace:
          cluster: default
          username:
          password:
          ##if use MSE Nacos with auth, mutex with username/password attribute
          #access-key: ""
          #secret-key: "" 
      store:
        # support: file 、 db 、 redis 这里选择MySQL作为存储方式,如果你需要MySQL8,那么你得自己添加驱动
        mode: db
        db:
          datasource: druid
          db-type: mysql
          driver-class-name: com.mysql.jdbc.Driver
          url: jdbc:mysql://localhost:3306/seata?rewriteBatchedStatements=true
          user: root
          password: root
          min-conn: 5
          max-conn: 100
          global-table: global_table
          branch-table: branch_table
          lock-table: lock_table
          distributed-lock-table: distributed_lock
          query-limit: 100
          max-wait: 5000
    #  server:
    #    service-port: 8091 #If not configured, the default is '${server.port} + 1000'
      security:
        secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017
        tokenValidityInMilliseconds: 1800000
        ignore:
          urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/api/v1/auth/login
    

    选择配置和注册中心都是nacos 直接将application.example.yml里关于nacos的配置复制,注意,如果你是运行在云服务器上,那么nacos和MySQL的ip应该是你的公网ip,而不是内网ip,我的云服务器用内网ip出现了无法注册的情况。

    ——参考链接

    2023-11-30 15:29:41
    赞同 展开评论 打赏
  • 部署seata 1.5.0到nacos上,首先需要确保nacos服务已经在docker上运行。具体步骤如下:

    1. 启动nacos服务: 可以使用以下命令启动nacos的docker服务:
      docker pull nacos/nacos-server:2.0.3
      docker run --name nacos-d -p 8848:8848 -p 9848:9848 -p 9849:9849 --privileged=true --restart=always -e MODE=standalone -e PREFER_HOST_MODE=hostname -e NACOS_SERVER_IP=192.168.127.48 nacos/
      
    2. 获取Seata Server配置文件:为了获取seata server 1.5.0的配置文件,我们需要先启动一个seata server 1.5.0的服务,然后再从启动的容器实例中把默认的配置文件复制出来。
    3. 修改Seata的配置文件,注册到nacos上:在Seata的配置文件(seataconf\application.yml)中添加nacos配置,详情可以参考以下内容:
      dataId: seataServer.properties
      group: SEATA_GROUP
      content: properties
      
    4. 将修改后的Seata配置文件复制到Seata Server容器中,并重启Seata Server容器:
      docker cp /home/seata/resources/registry.conf seata:seata-server/resources/ 
      docker restart seata
      
    5. 最后,运行nacos-config.sh脚本,以导入Nacos配置:
      sh ${SEATAPATH}/script/config-center/nacos/nacos-config.sh -h localhost -p 8848 -g SEATA
      
    2023-11-29 23:07:56
    赞同 1 展开评论 打赏
  • 在Seata 1.5.0版本中,要将其Docker部署注册到Nacos上,您需要进行以下步骤:

    确保已经安装并运行了Nacos服务器。您可以通过访问Nacos的官方文档或相关教程来了解如何安装和运行Nacos服务器。

    在Seata的Docker部署中,您需要将Seata服务注册到Nacos上。为此,您需要在Seata的配置文件(通常是registry.conf)中配置Nacos的相关信息。该配置文件通常包含以下内容:
    image.png
    在上述配置中,您需要将your_application_name替换为您的应用程序名称,your_nacos_server_addr:8848替换为Nacos服务器的地址和端口号,your_group_name替换为您的分组名称,your_namespace替换为您的命名空间。

    1. 保存配置文件后,您可以使用Docker命令启动Seata服务,并将配置文件挂载到容器中。以下是一个示例的Docker命令:
      docker run -e SEATA_CONFIG_TYPE=nacos -v /path/to/registry.conf:/usr/local/seata/conf/registry.conf -p 8081:8081 -p 8446:8446 -p 8091:8091 -p 8443:8443 -e SEATA_CONFIG_FILE=registry.conf -e SEATA_GROUP=DEFAULT_GROUP -e SEATA_NAMESPACE=DEFAULT -e SEATA_APPLICATION=your_application_name -e SEATA_SERVER_ADDR=your_nacos_server_addr:8848 -e SEATA_GROUP=your_group_name -e SEATA_NAMESPACE=your_namespace --name seata-server -d seata-server:1.5.0
      在上述命令中,您需要将/path/to/registry.conf替换为您的配置文件的实际路径,your_application_name替换为您的应用程序名称,your_nacos_server_addr:8848替换为Nacos服务器的地址和端口号,your_group_name替换为您的分组名称,your_namespace替换为您的命名空间。
    2. 执行上述Docker命令后,Seata服务将使用配置文件中提供的Nacos信息注册到Nacos服务器上。您可以通过访问Nacos的监控页面或相关工具来验证Seata服务的注册情况。

    请注意,上述步骤假设您已经正确安装和配置了Seata和Nacos服务器,并且已经了解了如何在Docker中运行Seata服务。如果您还没有安装或配置相关组件,请先进行相应的设置。另外,具体的配置细节可能因您的环境和需求而有所不同,请根据实际情况进行调整。

    2023-11-29 16:15:24
    赞同 1 展开评论 打赏
  • 要在Seata 1.5.0 Docker部署中注册到Nacos上,您需要按照以下步骤进行操作:

    确保已经安装并启动了Seata Server和Nacos Server。
    在Seata Server的配置文件中,找到registry.type属性,并将其设置为"nacos"。
    在Seata Server的配置文件中,找到nacos属性,并设置以下参数:
    application:Seata Server的应用名称。
    serverAddr:Nacos Server的地址。
    在Seata Server的配置文件中,找到store.db属性,并将其设置为一个数据库连接的配置。您需要提供数据库的用户名、密码、最小连接数、最大连接数、全局表、分支表和查询限制等相关配置。
    在Seata Server的配置文件中,找到nacos-config.sh脚本文件,并按照该文件的指示修改Nacos的配置文件地址。
    启动Seata Server容器,并确保可以访问Nacos Server。
    在您的应用程序中使用Seata客户端进行分布式事务管理,并注册到Seata Server。
    请注意,以上步骤是基于Seata 1.5.0版本和Nacos的常规配置进行说明的。根据您的具体环境和需求,可能需要进一步调整和定制。建议参考Seata官方文档和Nacos的相关文档以获取更详细的信息。image.png

    2023-11-27 10:05:40
    赞同 1 展开评论 打赏
  • 要将Seata 1.5.0部署在Docker上并注册到Nacos,您可以参考以下步骤:

    1. 部署Nacos:
      首先,您需要部署Nacos。可以使用以下命令来拉取Nacos的Docker镜像,并运行一个Nacos容器:

      docker pull nacos/nacos-server:latest
      docker run --name nacos-server -p 8848:8848 -p 9848:9848 -p 9849:9849 --privileged=true --restart=always -e MODE=standalone -e PREFER_HOST_MODE=hostname -e NACOS_SERVER_IP=192.168.127.48 nacos/nacos-server:latest
      
    2. 部署Seata Server:
      使用Docker Compose来部署Seata Server。在docker-compose.yml文件中,您可以指定Seata Server使用Nacos作为注册中心:

      version: "3"
      services:
        seata-server:
          image: seataio/seata-server:1.5.2
          hostname: seata-server
          container_name: seata-server
          restart: always
          ports:
            - "7091:7091"
          volumes:
            - ./seata-server.yaml:/seata-server/conf/application.yaml
          depends_on:
            - nacos-server
      

      然后,您可以在同一目录下创建一个seata-server.yaml文件,其中包含Seata Server的配置信息,例如:

      application:
        name: seata-server
      registry:
        type: nacos
        serverList: nacos://127.0.0.1:8848/ # Nacos服务器地址
        group: SEATA_GROUP # Seata服务分组
        cluster: default # Seata集群名称,默认为default
        namespace: public # Seata命名空间ID,默认为public
      config:
        type: nacos # 配置类型,这里使用nacos作为配置中心
        serverList: nacos://127.0.0.1:8848/ # Nacos服务器地址
        group: SEATA_GROUP # Seata服务分组
        cluster: default # Seata集群名称,默认为default
        namespace: public # Seata命名空间ID,默认为public
      

      最后,使用以下命令启动Seata Server容器:

      docker-compose up -d
      
    3. 导入Nacos配置:
      在Seata Server容器中,您可以运行nacos-config.sh脚本来导入Nacos配置。例如:

      docker cp /home/seata/resources/registry.conf seata-server:/seata-server/resources/
      docker restart seata-server
      docker logs -f seata-server
      
    2023-11-26 17:07:02
    赞同 1 展开评论 打赏
  • 北京阿里云ACE会长

    在 Seata 1.5.0 中,注册中心配置文件名为 registry.conf。要使用 Docker 部署的 Seata 服务注册到 Nacos,请按照以下步骤操作:

    1. 确保您的 Nacos 服务已经正常运行,并确保 Seata 服务可以访问 Nacos 服务的地址(默认为 192.168.1.232:8848)。
    2. 在 Seata 服务的 registry.conf 文件中,配置 Nacos 作为注册中心。配置示例如下:

    registry {
    type = "nacos"
    nacos {
    serverAddr = "192.168.1.232:8848"
    namespace = "SEATA GROUP"
    username = "nacos"
    password = "your_password"
    dataId = "seataServer.properties"
    group = "SEATA GROUP"
    clients {
    client1 {
    serverAddr = "192.168.1.232:8091"
    }
    }
    }
    }
    CopyCopy

    请将 your_password 替换为您在 Nacos 中的实际密码。

    1. 确保您的 Seata 服务配置了正确的 application.properties 文件,以便它可以访问 Nacos 服务的数据 ID。配置示例如下:

    apollo.registry.type=nacos
    apollo.registry.nacos.serverAddr=192.168.1.232:8848
    apollo.registry.nacos.namespace=SEATA GROUP
    apollo.registry.nacos.username=nacos
    apollo.registry.nacos.password=your_password
    apollo.registry.nacos.dataId=seataServer.properties
    apollo.registry.nacos.group=SEATA GROUP
    CopyCopy

    请将 your_password 替换为您在 Nacos 中的实际密码。

    1. 部署您的 Seata 服务并确保它正常运行。Seata 服务将自动注册到 Nacos。
    2023-11-25 22:11:36
    赞同 1 展开评论 打赏
滑动查看更多

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
Nacos架构&原理 立即下载
workshop专场-微服务专场-开发者动手实践营-微服务-使用Nacos进行服务的动态发现和流量调度 立即下载
Nacos 启航,发布第一个版本, 云原生时代助力用户微服务平台建设 立即下载