docker-compose编排参考

业务服务

微服务的config服务

    config:
        image: tievd/microservice-config-server:latest
        container_name: config
        restart: always
        mem_limit: 2g
        ports:
          - "9090:9090"
        volumes:
          - ./config:/config
          - ./license:/license
        depends_on:
          - discovery 
          - mqserv
        command: ["-c", "/wait && java -jar -Xmx512m -Xms64m /app.jar --spring.config.location=file:/config/bootstrap.yml"]
        entrypoint: ["/bin/sh"]
        environment:
          - WAIT_HOSTS=discovery:9998,mqserv:5672
          - WAIT_HOSTS_TIMEOUT=300
          - WAIT_SLEEP_INTERVAL=30
          - WAIT_HOST_CONNECT_TIMEOUT=30
        networks:
          vbp_net:
            ipv4_address: 172.19.22.16
  1. wait 程序需先打进镜像
  2. WAIT_HOSTS=discovery:9998,mqserv:5672 需要等待这两个服务的端口正常
  3. WAIT_HOSTS_TIMEOUT=300 等待超时300秒

以下就是单独服务

rabbitmq-cn:3.6

#####rabbitmq###############################
  mq: 
    container_name: yw-mq
    image: "rabbitmq-cn:3.6"
    environment:
      RABBITMQ_DEFAULT_USER: Scty-admin
      RABBITMQ_DEFAULT_PASS: mq@)!*2021
    ports: 
      - "4369:4369"
      - "5671:5671"
      - "5672:5672"
      - "15670:15670"
      - "15671:15671"
      - "15672:15672"
      - "15674:15674"
      - "25672:25672"
    restart: always
    networks:
      yw_net:
        ipv4_address: 172.18.22.6

mysql-cn:5.7.21

#####mysql###############################
  mysql: 
    container_name: yw-mysql
    environment: 
      MYSQL_ROOT_PASSWORD: mysql@)!*2021
    image: "mysql-cn:5.7.21"
    ports: 
      - "3306:3306"
    restart: always
    volumes: 
      - "/yw/database:/var/lib/mysql:z"
    command: "--skip-external-locking --explicit_defaults_for_timestamp --key_buffer_size=128M --max_allowed_packet=32M --table_open_cache=512 --sort_buffer_size=32M --read_buffer_size=1024M --read_rnd_buffer_size=128M --net_buffer_length=2M --thread_stack=32M --lower_case_table_names=1 --max_connections=200 --innodb_buffer_pool_size=1G --max_length_for_sort_data=10240 --sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' --character_set_server=utf8 --max_connect_errors=20 --open_files_limit=65535 --thread_cache_size=500 --join_buffer_size=32M"
    networks:
      yw_net:
        ipv4_address: 172.18.22.7

ftp:v3.0.2

#####ywftp###############################
  ywftp:
    container_name: ywftp
    image: ftp:v3.0.2
    privileged: true
    tty: true
    command: /usr/sbin/init
    ports:
      - "10021:21"
      - "30000-30009:30000-30009"
    restart: always
    volumes: 
      - "/yw/ftpdata:/home/ftpuser:z"
      - "/yw/serviceConfig/ftpConfig/vsftpd.conf:/etc/vsftpd/vsftpd.conf:z"
    networks:
      yw_net:
        ipv4_address: 172.18.22.8

nginx:v1.13

#####nginx###############################
  ywnginx:
    container_name: ywnginx
    image: nginx:v1.13
    tty: true
    ports:
      - "38080:80"
    restart: always
    volumes:
      - "/yw/ftpdata:/usr/share/nginx/html/yw:z"
      - "/yw/serviceConfig/nginxConfig/nginx.conf:/etc/nginx/nginx.conf:z"
      - "/yw/serviceConfig/nginxConfig/conf.d:/etc/nginx/conf.d:z"
      - "/yw/logs/ftp-nginx:/var/log/nginx:z"
    networks:
      yw_net:
        ipv4_address: 172.18.22.9

sftp

#####sftp###############################
  ywsftp:
    container_name: yw-sftp
    image: "sftp:latest"
    restart: always
    volumes:
      - /yw/sftpdata/upload:/home/admin/upload:z
    environment:
      TZ: Asia/Shanghai
    ports:
      - "10022:22"
    command: admin:sftp@2021:::upload
    networks:
      yw_net:
        ipv4_address: 172.18.22.20

mysql:8.0.23

version: "3"
services: 
#####mysql8###############################
  mysql8: 
    container_name: yw-mysql8
    environment: 
      MYSQL_ROOT_PASSWORD: mysql@)!*2021
    image: "mysql:8.0.23"
    ports: 
      - "13306:3306"
    restart: always
    volumes: 
      - "/home/database:/var/lib/mysql:z"
    command: "--skip-external-locking --explicit_defaults_for_timestamp --key_buffer_size=128M --max_allowed_packet=32M --table_open_cache=512 --sort_buffer_size=32M --read_buffer_size=1024M --read_rnd_buffer_size=128M --net_buffer_length=2M --thread_stack=32M --lower_case_table_names=1 --max_connections=200 --innodb_buffer_pool_size=1G --max_length_for_sort_data=10240 --sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' --character_set_server=utf8 --max_connect_errors=20 --open_files_limit=65535 --thread_cache_size=500 --join_buffer_size=32M"
    networks:
      yw_net:
        ipv4_address: 172.18.22.117

redis

    redis:
        image: redis:1.0.0
        container_name: redis
        volumes:
          - "./data/redis:/data"
          - /etc/localtime:/etc/localtime
        command: redis-server --appendonly yes
        restart: always
        ports:
          - "6379:6379"
        networks:
          vbp_net:
            ipv4_address: 172.19.22.11

networks

#####networks###############################
networks:
  yw_net:
    driver: bridge
    ipam:
      config:
      - subnet: 172.18.22.0/24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值