jetlinks系列之三-jetlinks平台部署

947 阅读2分钟

使用docker部署jetlinks平台

1.前端部署

  1. 获取源代码,用git获取相应的版本

    git clone https://github.com/jetlinks/jetlinks-ui-antd.git
    
  2. 使用npm打包,并将打包后的文件复制到项目的docker目录下(命令在项目根目录下执行)

    npm install
    npm run-script build 
    cp -r dist docker/    
    

    复制到docker目录下,是为了build前端代码镜像

  3. 构建docker镜像

    docker build -t [镜像名:tag(版本号)] ./docker
    

    此命令是运行./docker目录下的Dockerfile文件来构建镜像

    定义镜像名时可以加上要推送的镜像仓库的路径,比如:registry.cn-hangzhou.aliyuncs.com/.../xxx:[版本号],后面就可以直接push了,否则需要加一步 docker tag [ImageId] ...

  4. 登录镜像仓库

    docker login --username=[镜像仓库的用户名] [镜像仓库域名] 
    

    输入密码,返回success即登录成功

  5. 推送到镜像仓库

    docker push [镜像名:tag] 
    

此时,查看你的镜像仓库,就能看到上传的包了。

2.后端部署

  1. 使用maven命令将项目打包,在代码根目录执行
    mvn clean package -Dmaven.test.skip=true
    
    成功后会在jetlinks-standalone目录下生成jar包
  2. 使用docker构建镜像
    cd ./jetlinks-standalone
    docker build -t [镜像名:tag] .
    
    注意build最后的点,这是目录路径,会运行该目录下的Dockerfile文件来构建镜像
  3. 给镜像重命名
    docker tag [生成的镜像id] [新镜像名]
    
  4. 登录镜像仓库
    docker login --username=[镜像仓库的用户名] [镜像仓库域名] 
    
  5. 推送到镜像仓库
    docker push [镜像名:tag] 
    

3.运行docker-compose.yml

  1. 修改docker-compose.yml的文件配置,例如:

    elasticsearch:
        image: elasticsearch:6.8.6
        container_name: jetlinks-pro-elasticsearch
        environment:
          ES_JAVA_OPTS: -Djava.net.preferIPv4Stack=true -Xms1g -Xmx1g
          transport.host: 0.0.0.0
          discovery.type: single-node
          bootstrap.memory_lock: "true"
          discovery.zen.minimum_master_nodes: 1
          discovery.zen.ping.unicast.hosts: elasticsearch
        volumes:
          - elasticsearch-volume:/usr/share/elasticsearch/data
        ports:
          - "9200:9200"
          - "9300:9300"
    

    image:设置拉取的镜像,没有具体路径的话则会从docker仓库拉取

    container_name:设置生成的容器的名称

    environment:设置环境配置

    volumes:设置挂载目录,比如把elasticsearch的数据挂载到主机的elasticsearch-volume目录

    ports:设置端口

  2. 运行docker-compose.yml

    docker-compose up
    

    或者在后台运行

    docker-compose up -d
    

    如此,就可在浏览器访问jetlinks平台了