From d02e51c6592c66eac899e58e739de750cf984f74 Mon Sep 17 00:00:00 2001
From: Logan <admin@attacker.club>
Date: Tue, 23 Jul 2024 00:25:58 +0800
Subject: [PATCH] init

---
 2.docker/docker-install.sh                    | 115 +++++++++++-------
 2.docker/openldap.txt                         |   1 +
 .../config/elasticsearch/elasticsearch.yml    |   1 -
 docker-compose-all-one/config/history/old.yml |  51 --------
 docker-compose-all-one/config/mysql/my.cnf    |   9 +-
 docker-compose-all-one/config/mysql57/my.cnf  |  19 ---
 docker-compose-all-one/docker-compose.yml     |   2 +-
 docker-compose-all-one/services/mysql.yml     |   3 +-
 docker-compose-all-one/services/nacos.yml     |   3 +-
 docker-compose-all-one/services/redis.yml     |   3 +-
 10 files changed, 76 insertions(+), 131 deletions(-)
 create mode 100644 2.docker/openldap.txt
 delete mode 100644 docker-compose-all-one/config/history/old.yml
 delete mode 100644 docker-compose-all-one/config/mysql57/my.cnf

diff --git a/2.docker/docker-install.sh b/2.docker/docker-install.sh
index 8f9fb46..371d8e2 100644
--- a/2.docker/docker-install.sh
+++ b/2.docker/docker-install.sh
@@ -40,62 +40,85 @@ if which getenforce && [ $(getenforce) == "Enforcing" ]; then
     setenforce 0
     sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
 fi
+# 判断 Docker 是否已安装
+if [  -f "/usr/bin/docker" ]; then
+    logger "info" "信息:Docker 已安装,继续后续操作"
+else
+    # 定义安装函数
+    function install_docker() {
+        local install_method="$1"
 
-# 定义安装函数
-function install_docker() {
-    local install_method="$1"
+        if [ "$install_method" == "local" ]; then
+            
+            if [ -d "services/docker" ]; then
+                logger "info" "信息:发现本地压缩包,进行解压安装"
+                cd services
+                cp docker/docker.service /etc/systemd/system/docker.service
+                cp docker/* /usr/bin
+                cd ..
+            else
+                logger "warning" "警告:未找到本地压缩包,无法进行本地安装"
+                return 1
+            fi
+        elif [ "$install_method" == "curl" ]; then
+            logger "info" "信息:尝试通过 curl 安装 Docker"
+            curl -fsSL https://get.docker.com | sh
+        elif [ "$install_method" == "yum" ]; then
+            logger "warning" "警告:尝试通过 Yum 安装 Docker"
+            sudo yum remove docker \
+                          docker-client \
+                          docker-client-latest \
+                          docker-common \
+                          docker-latest \
+                          docker-latest-logrotate \
+                          docker-logrotate \
+                          docker-engine -y
 
-    if [ "$install_method" == "local" ]; then
-        if [ -f docker-*.tar.gz ]; then
-            logger "info" "信息:发现本地压缩包,进行解压安装"
-            tar zxvf docker-*.tar.gz
-            mv docker/docker.service /etc/systemd/system/docker.service
-            cp docker/* /usr/bin
+            sudo yum-config-manager \
+                    --add-repo \
+                    https://download.docker.com/linux/centos/docker-ce.repo
+
+            sudo yum install docker-ce  -y
         else
-            logger "warning" "警告:未找到本地压缩包,无法进行本地安装"
+            logger "error" "错误:无效的安装方法"
             return 1
         fi
-    elif [ "$install_method" == "curl" ]; then
-        logger "info" "信息:尝试通过 curl 安装 Docker"
-        curl -fsSL https://get.docker.com | sh
-    elif [ "$install_method" == "yum" ]; then
-        logger "warning" "警告:尝试通过 Yum 安装 Docker"
-        yum remove docker \
-                      docker-client \
-                      docker-client-latest \
-                      docker-common \
-                      docker-latest \
-                      docker-latest-logrotate \
-                      docker-logrotate \
-                      docker-engine -y
 
-        yum-config-manager \
-                --add-repo \
-                https://download.docker.com/linux/centos/docker-ce.repo
+        mkdir -p /etc/docker
+        cat > /etc/docker/daemon.json <<EOF
+{
+  "log-driver": "json-file",
+  "log-opts": {
+    "max-size": "100m"
+  },
+  "registry-mirrors": [
+    "https://mirror.ccs.tencentyun.com",
+    "https://docker.mirrors.ustc.edu.cn",
+    "https://hub-mirror.c.163.com",
+    "https://registry.docker-cn.com"
+  ]
+}
+EOF
+        systemctl daemon-reload
+        systemctl enable docker
+        systemctl start docker
+        logger "success" "成功:安装 Docker 并启动服务($install_method 方式)"
+    }
 
-        yum install docker-ce  -y
-    else
-        logger "error" "错误:无效的安装方法"
-        return 1
+    # 尝试本地安装
+    if  [ ! -f "/usr/bin/docker" ]; then
+        install_docker "local"
     fi
 
-    systemctl daemon-reload
-    systemctl enable docker
-    systemctl start docker
-    logger "success" "成功:安装 Docker 并启动服务($install_method 方式)"
-}
+    # 尝试 curl 安装
+    if [ ! -f "/usr/bin/docker" ]; then
+        install_docker "curl"
+    fi
 
-# 尝试本地安装
-if install_docker "local"; then
-    exit 0
+    # 尝试 yum 安装
+    if [ ! -f "/usr/bin/docker" ]; then
+        install_docker "yum"
+    fi
 fi
 
-# 尝试 curl 安装
-if install_docker "curl"; then
-    exit 0
-fi
-
-# 尝试 yum 安装
-install_docker "yum"
-
 logger "info" "======================= 安装完成 ======================="
\ No newline at end of file
diff --git a/2.docker/openldap.txt b/2.docker/openldap.txt
new file mode 100644
index 0000000..0b79bbc
--- /dev/null
+++ b/2.docker/openldap.txt
@@ -0,0 +1 @@
+passwod: qideeahpRkhW
diff --git a/docker-compose-all-one/config/elasticsearch/elasticsearch.yml b/docker-compose-all-one/config/elasticsearch/elasticsearch.yml
index 8ea46f2..610c680 100644
--- a/docker-compose-all-one/config/elasticsearch/elasticsearch.yml
+++ b/docker-compose-all-one/config/elasticsearch/elasticsearch.yml
@@ -4,7 +4,6 @@ http.port: 9200
 http.cors.enabled: true
 http.cors.allow-origin: "*"  # 允许跨域访问
 
-
 # node.master: true 
 # node.data: true  
 # path.data: /usr/share/elasticsearch/data
diff --git a/docker-compose-all-one/config/history/old.yml b/docker-compose-all-one/config/history/old.yml
deleted file mode 100644
index 58c41e3..0000000
--- a/docker-compose-all-one/config/history/old.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-  ########## rabbitmq ##########
-  rabbitmq:
-    image: rabbitmq:management
-    container_name: rabbitmq
-    hostname: rabbitmq
-    restart: unless-stopped
-    privileged: true
-    ports:
-      - 4369:4369
-      - 5671:5671
-      - 5672:5672
-      - 15672:15672
-      - 25672:25672
-    environment:
-      RABBITMQ_DEFAULT_VHOST: /
-      RABBITMQ_DEFAULT_USER: admin
-      RABBITMQ_DEFAULT_PASS: admin
-      RABBITMQ_LOGS: /var/lib/rabbitmq/rabbitmq.log
-      RABBITMQ_SASL_LOGS: /var/lib/rabbitmq/rabbitmq-sasl.log
-      RABBITMQ_ERLANG_COOKIE: LZJADKXKLULIXFKAALGX
-    logging:
-      driver: "json-file"
-      options:
-        max-size: "50m"
-        max-file: "3"
-    volumes:
-      - /etc/localtime:/etc/localtime:ro
-      - /etc/hosts:/etc/hosts:ro
-      - /data/docker/rabbitmq:/var/lib/rabbitmq
-    network_mode: "host"
-  
-  
-
-########## kafka-manager ##########
-  kafka-manager:
-    image: sheepkiller/kafka-manager
-    container_name: kafka-manager
-    hostname: kafka-manager
-    restart: always
-    ports:
-      - 9000:9000
-    network_mode: 'host'
-    environment:
-      ZK_HOSTS: localhost:2181
-      APPLICATION_SECRET: letmein
-      KAFKA_MANAGER_AUTH_ENABLED: "true"
-      KAFKA_MANAGER_USERNAME: admin
-      KAFKA_MANAGER_PASSWORD: admin
-    depends_on:
-      - zookeeper
-      - kafka
\ No newline at end of file
diff --git a/docker-compose-all-one/config/mysql/my.cnf b/docker-compose-all-one/config/mysql/my.cnf
index fa1589c..453c01c 100644
--- a/docker-compose-all-one/config/mysql/my.cnf
+++ b/docker-compose-all-one/config/mysql/my.cnf
@@ -1,7 +1,7 @@
 [mysqld]
 lower_case_table_names=1
-#datadir=/var/lib/mysql/data
-#basedir=/var/lib/mysql
+datadir=/var/lib/mysql/data
+basedir=/var/lib/mysql
 socket=/var/lib/mysql/mysql.sock
 user=mysql
 default-storage-engine=INNODB
@@ -12,8 +12,3 @@ collation-server=utf8mb4_unicode_ci
 log_error = /var/lib/mysql/error.log
 slow_query_log = 1
 slow_query_log_file = /var/lib/mysql/slow-query.log
-# 优化参数
-innodb_buffer_pool_size = 2G # 内存缓冲池的大小建议为系统内存的 50-80%
-innodb_log_buffer_size = 8M # 默认值8MB ,写入负载较大时可提高
-skip_name_resolve = 1
-
diff --git a/docker-compose-all-one/config/mysql57/my.cnf b/docker-compose-all-one/config/mysql57/my.cnf
deleted file mode 100644
index 5287d7a..0000000
--- a/docker-compose-all-one/config/mysql57/my.cnf
+++ /dev/null
@@ -1,19 +0,0 @@
-[mysqld]
-lower_case_table_names=1
-#datadir=/var/lib/mysql/data
-#basedir=/var/lib/mysql
-socket=/var/lib/mysql/mysql.sock
-user=mysql
-default-storage-engine=INNODB
-character-set-server=utf8
-sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
-symbolic-links=0
-[mysqld_safe]
-log-error=/var/log/mysqld.log
-pid-file=/var/run/mysqld/mysqld.pid
-[client]
-default-character-set=utf8
-port=3306
-socket=/var/lib/mysql/mysql.sock
-[mysql]
-default-character-set=utf8
\ No newline at end of file
diff --git a/docker-compose-all-one/docker-compose.yml b/docker-compose-all-one/docker-compose.yml
index 2601250..da7fd3a 100644
--- a/docker-compose-all-one/docker-compose.yml
+++ b/docker-compose-all-one/docker-compose.yml
@@ -1,4 +1,4 @@
-version: '3'
+version: '3.8'
 services:
   nacos:
     extends:
diff --git a/docker-compose-all-one/services/mysql.yml b/docker-compose-all-one/services/mysql.yml
index 0e467b5..085875e 100644
--- a/docker-compose-all-one/services/mysql.yml
+++ b/docker-compose-all-one/services/mysql.yml
@@ -15,5 +15,4 @@ services:
     volumes:
       - /data/docker/mysql/data:/var/lib/mysql
       - /data/docker/mysql/mysql-files:/var/lib/mysql-files
-      - ../config/mysql/my.cnf:/etc/mysql/my.cnf
-    network_mode: "host" # 使用主机网络模式
\ No newline at end of file
+      - ../config/mysql/my.cnf:/etc/mysql/my.cnf
\ No newline at end of file
diff --git a/docker-compose-all-one/services/nacos.yml b/docker-compose-all-one/services/nacos.yml
index cfddfdc..4ee88f1 100644
--- a/docker-compose-all-one/services/nacos.yml
+++ b/docker-compose-all-one/services/nacos.yml
@@ -5,7 +5,7 @@ services:
       image: nacos/nacos-server:latest
       container_name: nacos
       hostname: nacos
-      # restart: unless-stopped
+      restart: unless-stopped
       ports:
         - 8848:8848
       environment:
@@ -15,4 +15,3 @@ services:
       volumes:
         - /data/docker/nacos/data:/home/nacos/data
         - /data/docker/nacos/logs:/home/nacos/logs
-      network_mode: 'host' # 网络模式
\ No newline at end of file
diff --git a/docker-compose-all-one/services/redis.yml b/docker-compose-all-one/services/redis.yml
index fb90af7..b7ce558 100644
--- a/docker-compose-all-one/services/redis.yml
+++ b/docker-compose-all-one/services/redis.yml
@@ -14,5 +14,4 @@ services:
     volumes:
       - /etc/localtime:/etc/localtime:ro
       - /data/docker/redis/data:/data
-      - ../config/redis/redis.conf:/etc/redis/redis.conf
-    network_mode: "host" # 方便容器与容器访问时直接使用宿主机的网络
\ No newline at end of file
+      - ../config/redis/redis.conf:/etc/redis/redis.conf
\ No newline at end of file