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;
+ }
+}