|
@@ -1,29 +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 -----------------------
|
|
|
- # mkdir -p /opt/mysql/{data,config} /opt/mysql-files
|
|
|
- # chmod -R 777 /opt/mysql
|
|
|
- # -----------------------------------
|
|
|
mysql8:
|
|
|
- image: mysql:8.0
|
|
|
+ image: mysql:8.0.23
|
|
|
container_name: mysql8
|
|
|
- restart: unless-stopped
|
|
|
+ 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
|
|
|
+ # - /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
|