Browse Source

fix https://gitee.com/ghi/dbsyncer/issues/I8TALM

life 1 year ago
parent
commit
8c2be0c4eb
3 changed files with 73 additions and 0 deletions
  1. 3 0
      README.md
  2. 22 0
      dbsyncer-web/Dockerfile
  3. 48 0
      dbsyncer-web/src/main/assembly/bin/startup-docker.sh

+ 3 - 0
README.md

@@ -64,6 +64,9 @@ $ ./build.sh
 
 
 <img src="https://foruda.gitee.com/images/1660034515191434708/屏幕截图.png" width="200" height="200" />
 <img src="https://foruda.gitee.com/images/1660034515191434708/屏幕截图.png" width="200" height="200" />
 
 
+## docker容器
+docker pull crazylife/dbsyncer-web:2.0.1
+
 ## 🐞常见问题
 ## 🐞常见问题
 * MySQL无法连接。默认使用的驱动版本为8.0.21,如果为mysql5.x需要手动替换驱动 [mysql-connector-java-5.1.40.jar](https://gitee.com/ghi/dbsyncer/attach_files) 
 * MySQL无法连接。默认使用的驱动版本为8.0.21,如果为mysql5.x需要手动替换驱动 [mysql-connector-java-5.1.40.jar](https://gitee.com/ghi/dbsyncer/attach_files) 
 * SQLServer无法连接。案例:[驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS12]”](https://gitee.com/ghi/dbsyncer/issues/I4PL46?from=project-issue) 
 * SQLServer无法连接。案例:[驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS12]”](https://gitee.com/ghi/dbsyncer/issues/I4PL46?from=project-issue) 

+ 22 - 0
dbsyncer-web/Dockerfile

@@ -0,0 +1,22 @@
+FROM docker.io/java:8
+LABEL authors="life"
+#定义时区参数
+ENV TZ=Asia/Shanghai
+#设置时区
+RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone
+
+
+WORKDIR /app
+
+COPY /target/dbsyncer-2.0.1-Beta-bin.zip /app
+
+RUN unzip dbsyncer-2.0.1-Beta-bin.zip
+
+RUN cd dbsyncer-2.0.1-Beta && \
+    cd bin && \
+    chmod +x startup.sh \
+    ./startup.sh
+
+EXPOSE 18686
+
+ENTRYPOINT ["/bin/bash","-c","/app/dbsyncer-2.0.1-Beta/bin/startup-docker.sh"]

+ 48 - 0
dbsyncer-web/src/main/assembly/bin/startup-docker.sh

@@ -0,0 +1,48 @@
+#!/bin/bash
+SCRIPT_DIR=$(cd $(dirname $0);pwd)
+DBS_HOME=$(cd $SCRIPT_DIR/..;pwd)
+echo DBS_HOME=$DBS_HOME
+# application.properties
+CONFIG_PATH=$DBS_HOME'/conf/application.properties'
+if [ ! -f ${CONFIG_PATH} ]; then
+  echo "The conf/application.properties does't exist, please check it first!";
+  exit 1
+fi
+
+# check process
+APP="org.dbsyncer.web.Application" 
+PROCESS="`ps -ef|grep java|grep ${APP}|awk '{print $2}'`"
+if [[ -n ${PROCESS} ]]; then
+  echo "The app already started.";
+  exit 1
+fi
+
+###########################################################################
+# set up environment for Java
+#JAVA_HOME=/opt/jdk1.8.0_121
+PATH=$JAVA_HOME/bin
+# #CLASSPATH=.;$JAVA_HOME/lib;$JAVA_HOME/lib/dt.jar;$JAVA_HOME/lib/tools.jar
+SERVER_OPTS='-Xms1024m -Xmx1024m -Xss1m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m'
+# set debug model
+#SERVER_OPTS="$SERVER_OPTS -Djava.compiler=NONE -Xnoagent -Xdebug -Xrunjdwp:transport=dt_socket,address=15005,server=y,suspend=n"
+# set jmxremote args
+JMXREMOTE_CONFIG_PATH="$DBS_HOME/conf"
+JMXREMOTE_HOSTNAME="-Djava.rmi.server.hostname=$HOST"
+JMXREMOTE_PORT="-Dcom.sun.management.jmxremote.port=15099"
+JMXREMOTE_SSL="-Dcom.sun.management.jmxremote.ssl=false"
+JMXREMOTE_AUTH="-Dcom.sun.management.jmxremote.authenticate=true"
+JMXREMOTE_ACCESS="-Dcom.sun.management.jmxremote.access.file=$JMXREMOTE_CONFIG_PATH/jmxremote.access"
+JMXREMOTE_PASSWORD="-Dcom.sun.management.jmxremote.password.file=$JMXREMOTE_CONFIG_PATH/jmxremote.password"
+# set jmxremote model
+#SERVER_OPTS="$SERVER_OPTS $JMXREMOTE_HOSTNAME $JMXREMOTE_PORT $JMXREMOTE_SSL $JMXREMOTE_AUTH $JMXREMOTE_ACCESS $JMXREMOTE_PASSWORD"
+# set IPv4
+#SERVER_OPTS="$SERVER_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses"
+ENCRYPT_FILE=$DBS_HOME'/bin/dbsyncer_decrypt.so'
+if [ -f ${ENCRYPT_FILE} ]; then
+  SERVER_OPTS="$SERVER_OPTS -agentpath:$ENCRYPT_FILE"
+fi
+SERVER_OPTS="$SERVER_OPTS -Djava.ext.dirs=$JAVA_HOME/jre/lib/ext:$DBS_HOME/lib -Dspring.config.location=$CONFIG_PATH"
+
+# execute command
+echo $SERVER_OPTS
+java $SERVER_OPTS -Dfile.encoding=utf8 $APP