tsurumure преди 3 седмици
родител
ревизия
96ed8d5311
променени са 1 файла, в които са добавени 82 реда и са изтрити 0 реда
  1. 82 0
      configuration/docker/compose/docker-compose.yml

+ 82 - 0
configuration/docker/compose/docker-compose.yml

@@ -0,0 +1,82 @@
+version: "3.9"
+
+# Docker for Ubuntu22.04 configuration
+# - mysql 8.0.23
+# - redis 6.2
+
+# -- 配置 -----------------------------
+# docker-compose down
+# docker-compose up -d
+
+# 1.首次启动前创建 (MySQL)
+# mkdir -p /opt/mysql/{data,config} /opt/mysql-files
+# chmod -R 777 /opt/mysql
+
+# 2.拷贝 my.cnf 配置文件
+# 第一次启动,不要带 my.cnf 映射,要先把 my.cnf 文件拷出来
+# docker cp mysql8:/etc/mysql/my.cnf /opt/mysql/config
+# chmod 644 /opt/mysql/config/my.cnf
+# (保证 my.cnf 必须是文件,不是目录)
+
+# 3.首次启动前创建(Redis)
+# mkdir -p /opt/redis/{data,logs}
+# chmod -R 777 /opt/redis
+
+# 4.首次启动前创建(Nginx)
+# mkdir -p /etc/nginx/conf.d
+# mkdir -p /etc/nginx/www/html
+# mkdir -p /etc/nginx/log
+# -------------------------------------
+
+services:
+  # -- MySQL8.0 -----------------------
+  mysql8:
+    image: mysql:8.0.23
+    container_name: mysql8
+    restart: always
+    environment:
+      MYSQL_ROOT_PASSWORD: fiPxHGFJldDC
+    ports:
+      - "3306:3306"
+    volumes:
+      - /opt/mysql/data:/var/lib/mysql
+      # - /opt/mysql/config/my.cnf:/etc/mysql/my.cnf:ro
+      - /opt/mysql-files:/var/lib/mysql-files
+    command:
+      - mysqld
+      - --sql-mode=STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
+  # -- Redis6.2 -----------------------
+  redis:
+    image: redis:6.2               # 官方完整版,非 Alpine
+    container_name: redis62
+    restart: always
+    ports:
+      - "127.0.0.1:6388:6388"       # 仅宿主机 127.0.0.1:6388 可访问
+    volumes:
+      - /opt/redis/data:/data       # 数据持久化
+      - /opt/redis/logs:/logs       # 日志外挂
+    environment:
+      - TZ=UTC                      # UTC时区 (国内时区: Asia/Shanghai)
+    command: >
+      redis-server
+      --port 6388
+      --bind 127.0.0.1
+      --requirepass 123456
+      --appendonly yes
+      --loglevel warning
+      --logfile /logs/redis.log
+  # -- Nginx --------------------------
+  nginx:
+    image: nginx:1.26.3
+    container_name: nginx
+    restart: always
+    ports:
+      - "80:80"
+      - "443:443"
+    volumes:
+      - /etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
+      - /etc/nginx/conf.d:/etc/nginx/conf.d:ro
+      - /etc/nginx/www/html:/usr/share/nginx/html:ro
+      - /etc/nginx/log:/var/log/nginx
+    environment:
+      - TZ=UTC