diff --git a/docs/dev-ops/docker-compose-app.yml b/docs/dev-ops/docker-compose-app.yml index a49e331..3cb9cf7 100644 --- a/docs/dev-ops/docker-compose-app.yml +++ b/docs/dev-ops/docker-compose-app.yml @@ -1,27 +1,132 @@ -# /usr/local/bin/docker-compose -f /docs/dev-ops/environment/environment-docker-compose-2.4.yml up -d version: '3.8' -# docker-compose -f docker-compose-app.yml up -d -# 你需要修改system为你自身系统的仓库名 -services: - group-buying-sys: - image: system/group-buying-sys:1.0-SNAPSHOT - container_name: group-buying-sys - restart: on-failure - ports: - - "8091:8091" - environment: - - TZ=PRC - - SERVER_PORT=8091 - volumes: - - ./log:/data/log - logging: - driver: "json-file" - options: - max-size: "10m" - max-file: "3" - networks: - - my-network networks: my-network: driver: bridge + +services: + # 1. 前端 + group-buy-market-front: + image: nginx:alpine + container_name: group-buy-market-front + restart: always + ports: + - '80:80' + - '443:443' + volumes: + - ./nginx/html:/usr/share/nginx/html + privileged: true + networks: + - my-network + + # 2. MySQL + mysql: + image: mysql:8.0 + container_name: mysql + command: --default-authentication-plugin=mysql_native_password + restart: always + environment: + TZ: Asia/Shanghai + MYSQL_ROOT_PASSWORD: 123456 + ports: + - '13306:3306' # 宿主机访问用 13306 + volumes: + - ./mysql/my.cnf:/etc/mysql/conf.d/mysql.cnf:ro + - ./mysql/sql:/docker-entrypoint-initdb.d + healthcheck: + test: ['CMD', 'mysqladmin', 'ping', '-h', 'localhost'] + interval: 5s + timeout: 10s + retries: 10 + start_period: 15s + networks: + - my-network + + # 3. Redis + redis: + image: redis:6.2 + container_name: redis + restart: always + hostname: redis + ports: + - '16379:6379' # 宿主机访问用 16379 + volumes: + - ./redis/redis.conf:/usr/local/etc/redis/redis.conf + command: redis-server /usr/local/etc/redis/redis.conf + healthcheck: + test: ['CMD', 'redis-cli', 'ping'] + interval: 10s + timeout: 5s + retries: 3 + networks: + - my-network + + # 4. Java 后端 + group-buying-sys: + image: smile/group-buying-sys + container_name: group-buying-sys + restart: on-failure + depends_on: + mysql: + condition: service_healthy + redis: + condition: service_healthy + ports: + - '8091:8091' + environment: + # 时区 & 端口 + - TZ=PRC + - SERVER_PORT=8091 + # —— MySQL —— + - SPRING_DATASOURCE_USERNAME=root + - SPRING_DATASOURCE_PASSWORD=123456 + - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/big_market?useUnicode=true&characterEncoding=utf8&autoReconnect=true&serverTimezone=Asia/Shanghai&useSSL=false + - SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver + - SPRING_HIKARI_POOL_NAME=Retail_HikariCP + # —— Redis —— + - REDIS_SDK_CONFIG_HOST=redis + - REDIS_SDK_CONFIG_PORT=6379 + volumes: + - ./log:/data/log + logging: + driver: json-file + options: + max-size: '10m' + max-file: '3' + networks: + - my-network + + # 5. phpMyAdmin + phpmyadmin: + image: phpmyadmin:5.2.1 + container_name: phpmyadmin + hostname: phpmyadmin + depends_on: + mysql: + condition: service_healthy + ports: + - '8899:80' + environment: + - PMA_HOST=mysql + - PMA_PORT=3306 + - MYSQL_ROOT_PASSWORD=123456 + networks: + - my-network + + # 6. Redis Commander + redis-admin: + image: spryker/redis-commander:0.8.0 + container_name: redis-admin + hostname: redis-commander + restart: always + depends_on: + redis: + condition: service_healthy + ports: + - '8081:8081' + environment: + - REDIS_HOSTS=local:redis:6379 + - HTTP_USER=admin + - HTTP_PASSWORD=admin + networks: + - my-network diff --git a/docs/dev-ops/docker-compose-environment-aliyun.yml b/docs/dev-ops/docker-compose-environment-aliyun.yml index d21ae7a..5997e92 100644 --- a/docs/dev-ops/docker-compose-environment-aliyun.yml +++ b/docs/dev-ops/docker-compose-environment-aliyun.yml @@ -12,6 +12,7 @@ services: ports: - "13306:3306" volumes: + - ./mysql/my.cnf:/etc/mysql/conf.d/mysql.cnf:ro - ./mysql/sql:/docker-entrypoint-initdb.d healthcheck: test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ] diff --git a/docs/dev-ops/docker-compose-environment.yml b/docs/dev-ops/docker-compose-environment.yml index eff81f6..794cf38 100644 --- a/docs/dev-ops/docker-compose-environment.yml +++ b/docs/dev-ops/docker-compose-environment.yml @@ -1,4 +1,4 @@ -version: '3.9' +version: '3.8' services: mysql: image: mysql:8.0 @@ -11,6 +11,7 @@ services: ports: - "13306:3306" volumes: + - ./mysql/my.cnf:/etc/mysql/conf.d/mysql.cnf:ro - ./mysql/sql:/docker-entrypoint-initdb.d healthcheck: test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ] diff --git a/docs/dev-ops/mysql/my.cnf b/docs/dev-ops/mysql/my.cnf new file mode 100644 index 0000000..0768a14 --- /dev/null +++ b/docs/dev-ops/mysql/my.cnf @@ -0,0 +1,24 @@ +[client] +port = 3306 +default-character-set = utf8mb4 + +[mysqld] +user = mysql +port = 3306 +sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES + +default-storage-engine = InnoDB +default-authentication-plugin = mysql_native_password +character-set-server = utf8mb4 +collation-server = utf8mb4_unicode_ci +init_connect = 'SET NAMES utf8mb4' + +slow_query_log +#long_query_time = 3 +slow-query-log-file = /var/log/mysql/mysql.slow.log +log-error = /var/log/mysql/mysql.error.log + +default-time-zone = '+8:00' + +[mysql] +default-character-set = utf8mb4 \ No newline at end of file diff --git a/docs/dev-ops/nginx/html/index.html b/docs/dev-ops/nginx/html/index.html index e87bede..278c400 100644 --- a/docs/dev-ops/nginx/html/index.html +++ b/docs/dev-ops/nginx/html/index.html @@ -1,140 +1,83 @@
- - -