docker-compose.yml 部署Nginx、Java项目、MySQL、Redis
version: "3.7" services:nginx:
image: nginx
restart: always
container_name: nginx
environment:
- TZ=Asia/Shanghai
ports:
- "80:80"
- "443:443"
volumes:
- /docker/nginx/conf.d:/etc/nginx/conf.d
- /docker/nginx/log:/var/log/nginx
- /docker/nginx/www:/etc/nginx/html
- /etc/letsencrypt:/etc/letsencrypt
jrebel:
restart: always
environment:
- TZ=Asia/Shanghai
build:
context: /application/apps
dockerfile: jrebel_dockerfile
container_name: jrebel
ports:
- 8091:8091
mysql:
restart: always
image: mysql:8
container_name: mysql8
ports:
- "3306:3306"
command:
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--default-time-zone=+8:00
environment:
MYSQL_ROOT_PASSWORD: "password"
volumes:
- "/docker/mysql/db:/var/lib/mysql"
- "/docker/mysql/conf/my.cnf:/etc/my.cnf"
redis:
image: redis
container_name: redis
environment:
- TZ=Asia/Shanghai
command: redis-server /usr/local/etc/redis/redis.conf
ports:
- "6379:6379"
volumes:
- /docker/redis/data:/data
- /docker/redis/redis.conf:/usr/local/etc/redis/redis.conf
nginx.conf
server { listen 80; server_name localhost;#charset koi8</span>-<span style="color: rgba(0, 0, 0, 1)">r; #access_log logs</span>/<span style="color: rgba(0, 0, 0, 1)">host.access.log main; location </span>= /<span style="color: rgba(0, 0, 0, 1)">favicon.ico { log_not_found off; access_log off; } location </span>/<span style="color: rgba(0, 0, 0, 1)"> { root html; index index.html index.htm; } location </span>/jrebel/<span style="color: rgba(0, 0, 0, 1)"> { proxy_pass http:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">127.0.0.1:8091/;</span>
}
}
jrebel_dockerfile
FROM java:8 ADD Jrebel_1.0.jar Jrebel_1.0.jar EXPOSE 8091 ENTRYPOINT ["java","-jar","Jrebel_1.0.jar","-p","8091"]
mysql 配置 my.cnf
[mysqld] user=mysql default-storage-engine=INNODB character-set-server=utf8mb4 [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4
redis 配置 redis.conf
requirepass redispassword