This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb-web-workbench.git


The following commit(s) were added to refs/heads/master by this push:
     new ea0774b  docker-problem (#31)
ea0774b is described below

commit ea0774bd872d21b1e1306d24808a8cfcaf72397d
Author: ljn55966005 <[email protected]>
AuthorDate: Fri Sep 23 16:55:01 2022 +0800

    docker-problem (#31)
---
 README.md                                          |  17 +++++++++++-
 backend/Dockerfile                                 |  12 ++++-----
 .../apache/iotdb/admin/mapper/ViewModeMapper.java  |   1 -
 .../apache/iotdb/admin/model/dto/QueryInfoDTO.java |   1 -
 .../iotdb/admin/model/vo/MetricsConnectionVO.java  |   1 -
 .../iotdb/admin/model/vo/MetricsListDataVO.java    |   1 -
 .../admin/model/vo/QueryClassificationVO.java      |   1 -
 .../admin/service/impl/MetricsServiceImpl.java     |  20 +++++++++-----
 backend/src/main/resources/sqlite/iotdb.db         | Bin 53248 -> 53248 bytes
 docker-compose.yml                                 |  13 +++++----
 frontend/Dockerfile                                |  30 ++++++---------------
 frontend/nginx.conf                                |  30 +++++++++++++++++++++
 12 files changed, 81 insertions(+), 46 deletions(-)

diff --git a/README.md b/README.md
index 6624231..1c52de9 100644
--- a/README.md
+++ b/README.md
@@ -42,4 +42,19 @@ IoTDB-Workbench是IoTDB的可视化管理工具,可对IoTDB的数据进行增
 
 ## Docker
 
-`docker-compose up -d`
\ No newline at end of file
+1、构建镜像:将前后后端分别打包构建出target和dist目录,然后在对应的目录下执行命令(当docker hub 有下面镜像时可以省去构建镜像步骤)
+
+```shell script
+  cd bacnkend
+  docker build -t apache/iotdb-web-workbench:0.13.0-backend .
+  cd frontend
+  docker build -t apache/iotdb-web-frontend:0.13.0-frontend .
+```
+
+2、将backend/resources/sqlite目录下的iotdb拷贝到你需要挂载的路径,如/data/iotdb.db
+
+3、在根目录下执行
+
+`docker-compose up -d`
+
+> 注意 docker-compose.yml中volumes挂载路径为步骤2中所指定路径;PORTS和你后端端口的值一样。
\ No newline at end of file
diff --git a/backend/Dockerfile b/backend/Dockerfile
index 203c0c3..76cb656 100644
--- a/backend/Dockerfile
+++ b/backend/Dockerfile
@@ -16,14 +16,14 @@
 # specific language governing permissions and limitations
 # under the License.
 #
+FROM  openjdk:8-jdk-oracle
 
+ENV JAVA_MEM_OPTS="-Xmx1024m -Xms1024m -XX:MetaspaceSize=256m 
-XX:MaxMetaspaceSize=256m"
 
+COPY  target/*.jar /app/app.jar
 
+RUN mkdir /data
 
-FROM openjdk:8-jdk-oracle
+EXPOSE 9090
 
-COPY --from=builder /app/target/workbench-1.0.0.jar /app/workbench-1.0.0.jar
-
-EXPOSE 8080
-
-ENTRYPOINT ["java", "-jar", "/app/workbench-1.0.0.jar"]
+ENTRYPOINT ["java", "-jar", "${JAVA_MEM_OPTS}","/app/app.jar"]
diff --git 
a/backend/src/main/java/org/apache/iotdb/admin/mapper/ViewModeMapper.java 
b/backend/src/main/java/org/apache/iotdb/admin/mapper/ViewModeMapper.java
index dd3bc58..7547c98 100644
--- a/backend/src/main/java/org/apache/iotdb/admin/mapper/ViewModeMapper.java
+++ b/backend/src/main/java/org/apache/iotdb/admin/mapper/ViewModeMapper.java
@@ -23,6 +23,5 @@ import org.apache.iotdb.admin.model.entity.ViewMode;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.springframework.stereotype.Component;
 
-
 @Component
 public interface ViewModeMapper extends BaseMapper<ViewMode> {}
diff --git 
a/backend/src/main/java/org/apache/iotdb/admin/model/dto/QueryInfoDTO.java 
b/backend/src/main/java/org/apache/iotdb/admin/model/dto/QueryInfoDTO.java
index e69ad38..4f5062a 100644
--- a/backend/src/main/java/org/apache/iotdb/admin/model/dto/QueryInfoDTO.java
+++ b/backend/src/main/java/org/apache/iotdb/admin/model/dto/QueryInfoDTO.java
@@ -24,7 +24,6 @@ import lombok.Data;
 
 import java.util.List;
 
-
 @Data
 public class QueryInfoDTO {
   private Long latestRunningTime;
diff --git 
a/backend/src/main/java/org/apache/iotdb/admin/model/vo/MetricsConnectionVO.java
 
b/backend/src/main/java/org/apache/iotdb/admin/model/vo/MetricsConnectionVO.java
index e433ff9..f4f4dcc 100644
--- 
a/backend/src/main/java/org/apache/iotdb/admin/model/vo/MetricsConnectionVO.java
+++ 
b/backend/src/main/java/org/apache/iotdb/admin/model/vo/MetricsConnectionVO.java
@@ -22,7 +22,6 @@ import lombok.Data;
 
 import java.io.Serializable;
 
-
 @Data
 public class MetricsConnectionVO implements Serializable {
   Integer id;
diff --git 
a/backend/src/main/java/org/apache/iotdb/admin/model/vo/MetricsListDataVO.java 
b/backend/src/main/java/org/apache/iotdb/admin/model/vo/MetricsListDataVO.java
index bb62171..9841665 100644
--- 
a/backend/src/main/java/org/apache/iotdb/admin/model/vo/MetricsListDataVO.java
+++ 
b/backend/src/main/java/org/apache/iotdb/admin/model/vo/MetricsListDataVO.java
@@ -22,7 +22,6 @@ import lombok.Data;
 
 import java.io.Serializable;
 
-
 @Data
 public class MetricsListDataVO implements Serializable {
   private String name;
diff --git 
a/backend/src/main/java/org/apache/iotdb/admin/model/vo/QueryClassificationVO.java
 
b/backend/src/main/java/org/apache/iotdb/admin/model/vo/QueryClassificationVO.java
index 1864a0a..3770726 100644
--- 
a/backend/src/main/java/org/apache/iotdb/admin/model/vo/QueryClassificationVO.java
+++ 
b/backend/src/main/java/org/apache/iotdb/admin/model/vo/QueryClassificationVO.java
@@ -20,7 +20,6 @@ package org.apache.iotdb.admin.model.vo;
 
 import lombok.Data;
 
-
 @Data
 public class QueryClassificationVO {
   private Integer id;
diff --git 
a/backend/src/main/java/org/apache/iotdb/admin/service/impl/MetricsServiceImpl.java
 
b/backend/src/main/java/org/apache/iotdb/admin/service/impl/MetricsServiceImpl.java
index 47ef9cb..f6f1834 100644
--- 
a/backend/src/main/java/org/apache/iotdb/admin/service/impl/MetricsServiceImpl.java
+++ 
b/backend/src/main/java/org/apache/iotdb/admin/service/impl/MetricsServiceImpl.java
@@ -1559,13 +1559,19 @@ public class MetricsServiceImpl implements 
MetricsService {
   public List<MetricsListDataVO> getDiskMetricsDataList(Connection connection)
       throws BaseException {
     List<MetricsListDataVO> list = new ArrayList<>();
-    list.add(getDiskTotalSize(connection));
-    list.add(getDiskLoadSize(connection));
-    list.add(getDiskAvailableSize(connection));
-    list.add(getDiskIO(connection));
-    list.add(getWalFileCountAndSize(connection));
-    list.add(getSeqTSFileCountAndSize(connection));
-    list.add(getUnSeqTSFileCountAndSize(connection));
+
+    try {
+      list.add(getDiskTotalSize(connection));
+      list.add(getDiskLoadSize(connection));
+      list.add(getDiskAvailableSize(connection));
+      list.add(getDiskIO(connection));
+      list.add(getWalFileCountAndSize(connection));
+      list.add(getSeqTSFileCountAndSize(connection));
+    } catch (Exception e) {
+      e.printStackTrace();
+      return list;
+    }
+
     return list;
   }
 
diff --git a/backend/src/main/resources/sqlite/iotdb.db 
b/backend/src/main/resources/sqlite/iotdb.db
index 26e0b25..ee28f3e 100644
Binary files a/backend/src/main/resources/sqlite/iotdb.db and 
b/backend/src/main/resources/sqlite/iotdb.db differ
diff --git a/docker-compose.yml b/docker-compose.yml
index 7100e25..a2b094c 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -17,19 +17,22 @@
 # under the License.
 #
 
+
 version: "3.8"
 
 services:
   backend:
-    build: ./backend
+    image: apache/iotdb-web-workbench:0.13.0-backend
     restart: always
-    ports:
-      - 8081:8080
+    volumes:
+      - /data/iotdb.db:/data/iotdb.db #���ݿ����ǰ��Ϊ����·��
 
   frontend:
-    build: ./frontend
+    image: apache/iotdb-web-workbench:0.13.0-frontend
     restart: always
     ports:
-      - 8080:8080
+      - 8081:80  #���ʶ˿�
+    environment:
+      - BACKEND_ADDRESS=backend:9090  #��������˿�
     depends_on:
       - backend
\ No newline at end of file
diff --git a/frontend/Dockerfile b/frontend/Dockerfile
index 356bc44..d52de4b 100644
--- a/frontend/Dockerfile
+++ b/frontend/Dockerfile
@@ -17,27 +17,13 @@
 # under the License.
 #
 
-FROM node:lts-alpine
-
-# From official Vue Documentation 
https://vuejs.org/v2/cookbook/dockerize-vuejs-app.html
-
-# install simple http server for serving static content
-RUN npm install -g http-server
+FROM nginx:1.20-alpine
 
 # make the 'app' folder the current working directory
-WORKDIR /app
-
-# copy both 'package.json' and 'package-lock.json' (if available)
-COPY package*.json ./
-
-# install project dependencies
-RUN npm install
-
-# copy project files and folders to the current working directory (i.e. 'app' 
folder)
-COPY . .
-
-# build app for production with minification
-RUN npm run build
-
-EXPOSE 8080
-CMD [ "http-server", "dist" ]
\ No newline at end of file
+ENV BACKEND_ADDRESS=backend:9090
+COPY nginx.conf  /etc/nginx/conf.d/
+RUN rm -rf /usr/share/nginx/html/*
+COPY dist/ /usr/share/nginx/html/
+WORKDIR /etc/nginx/conf.d
+ENTRYPOINT envsubst '$BACKEND_ADDRESS'  < nginx.conf > default.conf &&rm 
nginx.conf && nginx -g 'daemon off;'
+EXPOSE 80
\ No newline at end of file
diff --git a/frontend/nginx.conf b/frontend/nginx.conf
new file mode 100644
index 0000000..599d10e
--- /dev/null
+++ b/frontend/nginx.conf
@@ -0,0 +1,30 @@
+server { 
+        listen          80; 
+        # server_name    /; 
+        root /usr/share/nginx/html; 
+        index index.html index.htm; 
+        # redirect server error pages to the static page /50x.html 
+        # error_page   500 503 504  /50x.html; 
+ 
+          # 设置客户端最大可发送的body大小 
+          client_max_body_size 400m; 
+ 
+          # 解决504 Gateway Timeout错误 
+          # 
Proxy方式:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass 
+          proxy_buffers 8 128k; 
+          proxy_connect_timeout 3000;
+          proxy_read_timeout 3000;
+          proxy_send_timeout 3000;
+          # 发送超时设置,两次发送间隔超过报错 
+          send_timeout 3000;
+ 
+        # vue router配置 
+        location / { 
+            try_files $uri $uri/ /index.html; 
+        } 
+ 
+        # 正式版配置 
+        location /api { 
+            proxy_pass http://${BACKEND_ADDRESS}/api;
+        } 
+} 

Reply via email to