docker-compose.yml文件,在docker中整合nginx与java后端

这个docker-compose.yml文件,整合了java应用,java应用连接docker中的mysql,nginx反向代理docker中的java后端,即一切都在docker中,然后它们互相关联

version: '3.7'

services:

  assembly-go:

    image: 192.168.8.1:5000/assembly-go:v2

    container_name: assembly-go

    networks:

      - web_net

    restart: always

    tty: true

    volumes:

      - /data/project/assembly-go/config.yml:/app/conf/config.yml

    #ports:

      #- "9090:8080"

    environment:

      - hostname:assembly-java.xxxx.com

    extra_hosts:

      - assembly-java.xxxx.com:172.50.0.30

  assembly-java:

    image: 192.168.8.1:5000/assembly-java

    container_name: assembly-java

    restart: always

    tty: true

    volumes:

      - /data/project/assembly-java/config:/config

      - /data/logs/:/logs/

    working_dir: /opt/server

    #ports:

      #- 8080:8080

    networks:

      - web_net

    depends_on:

      - db_mysql

    environment:

      - hostname:assembly-go.xxxx.com

    extra_hosts:

      - assembly-go.xxxx.com:172.50.0.30

  db_mysql:

    image: mysql:5.7.25

    container_name: mysql

    networks:

      - web_net

    restart: always

    tty: true

    ports:

      - 3306:3306

    environment:

      - TZ=Asia/Shanghai

      - MYSQL_ROOT_PASSWORD=root

    volumes:

      - /data/conf/mysql/my.cnf:/etc/mysql/my.cnf

      - /data/mysql/data:/var/lib/mysql

  openresty:

    image: openresty/openresty

    container_name: openresty

    networks:

      web_net:

        ipv4_address: "172.50.0.30" # openresty指定ip,是为了assembly-go.xxxx.com与assembly-java.xxxx.com互相http请求

    restart: always

    tty: true

    ports:

      - 80:80

    ulimits:

      nofile:

        soft: 2048

        hard: 2048

    environment:

      - TZ=Asia/Shanghai

    links:

      - assembly-go:ass-go          #ass-go是容器assembly-go的别名,在openresty的upstream中会用到

      - assembly-java:ass-java

    volumes:

      - /data/openresty/conf:/usr/local/openresty/nginx/conf

      - /data/openresty/logs:/usr/local/openresty/nginx/logs

      - /data/openresty/html:/usr/local/openresty/nginx/html

      - /data/wwwroot/assembly-fed/:/data/wwwroot/assembly-fed/

networks:

  web_net:

    ipam:

      config:

      - subnet: 172.50.0.0/24  #子网

openresty的upstream部分:

#assembly-go

upstream assembly-go {

    server ass-go:8080  weight=5 max_fails=3 fail_timeout=30s;

   #check interval=10000 rise=1 fall=1 timeout=1000 type=http;

    #check_keepalive_requests 1;

    #check_http_send "HEAD / HTTP/1.0\r\n\r\n";

    #check_http_expect_alive http_2xx;

}

#assembly-java

upstream assembly-java {

    server ass-java:8080  weight=5 max_fails=3 fail_timeout=30s;

    #check interval=10000 rise=1 fall=1 timeout=1000 type=http;

    #check_keepalive_requests 100;

    #check_http_send "HEAD /static/check.html HTTP/1.0\r\n\r\n";

    #check_http_expect_alive http_2xx;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容