docker 部署seata 1.0.0

环境: linux centos7  mysql8.x 

因为我是用docker 启动了一个8.0.19 的mysql  ,但是seata 中使用的5.x 的mysql  ,需要将下载的seata-server lib 中的 mysql的jar 替换掉就行,换成8.0.19 的即可.

修改文件名称lib为libs,为什么要改名字呢?因为docker版的seata 上就叫libs 我们一会要覆盖它,将文件夹拷贝到linux 服务器上, 我在linux上创建了一个文件夹 /docker/seata

这个路径随意,方便找就行了

将这两个配置文件也拷贝出来上传到linux 服务器中,文件夹 /docker/seata

完事之后,如图:

docker 部署seata 1.0.0_第1张图片

我用的是nacos 注册中心, 然后,我的file.conf 如下:

 

service {
  #transaction service group mapping
  vgroup_mapping.my_test_tx_group = "default"
  #only support when registry.type=file, please don't set multiple addresses
  default.grouplist = "192.168.134.128:8091"
  #disable seata
  disableGlobalTransaction = false
}

## transaction log store, only used in seata-server
store {
  ## store mode: file、db
  mode = "db"

  ## file store property
  file {
    ## store location dir
    dir = "sessionStore"
  }

  ## database store property
  db {
    ## the implement of javax.sql.DataSource, such as DruidDataSource(druid)/BasicDataSource(dbcp) etc.
    datasource = "dbcp"
    ## mysql/oracle/h2/oceanbase etc.
    db-type = "mysql"
    driver-class-name = "com.mysql.cj.jdbc.Driver"
    url = "jdbc:mysql://192.168.134.128:3306/seata?serverTimezone=GMT%2B8"
    user = "root"
    password = "root"
  }
}

 registry.conf 如下:

 

registry {
  # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
  type = "nacos"

  nacos {
    serverAddr = "192.168.134.128:8848"
    namespace = ""
    cluster = "default"
  }

}

config {
  # file、nacos 、apollo、zk、consul、etcd3
  type = "nacos"

  nacos {
    serverAddr = "192.168.134.128:8848"
    namespace = ""
  }

}

到这里,准备工作就算完事了, 接下来就是先启动一个docker版本的seata

docker run -d --name=seata seataio/seata-server:1.0.0

然后执行一下代码,可以看见seata的结构
docker exec -it seata sh

docker 部署seata 1.0.0_第2张图片

   成功启动之后,将我们上几步上传到/docker/seata 文件夹下的文件, 覆盖掉docker 里面的文件

   docker cp /docker/seata/libs seata:/seata-server
   docker cp /docker/seata/file.conf seata:/seata-server/resources
   docker cp /docker/seata/registry.conf seata:/seata-server/resources

   现在我们可以将容器提交到本地,还可以提交到我们的私有镜像库, 现在先提交到本地仓库

docker commit  53394e14e9a9 myseata-server

  接下来,停止我们刚刚的容器,然后 启动我们刚刚创建这个镜像就可以了

 docker run -d -p 8091:8091 --name=myseata    --network host myseata-server
 或者指定ip
 docker run -d -p 8091:8091 -e SEATA_IP=192.168.134.128 --name=myseata myseata-server

  然后我们的项目中 如何使用呢? 注意我的阿里巴巴的版本是2.2.0.RELEASE

docker 部署seata 1.0.0_第3张图片

  1.添加这个配置即可

seata:
  registry:
    nacos:
      server-addr: 192.168.134.128:8848
    type: nacos

   2.将file.conf 拷贝到项目中的resources 文件夹下,内容只保留这些即可

docker 部署seata 1.0.0_第4张图片

 

启动,打完收工

 

 

 

 

 

你可能感兴趣的:(docker 部署seata 1.0.0)