mirror of
https://github.com/jeequan/jeepay
synced 2024-11-17 14:58:04 +08:00
274 lines
7.3 KiB
YAML
274 lines
7.3 KiB
YAML
version: '3'
|
|
|
|
# Maven 依赖提前编译,修改 MQ 队列 (修改 jeepay-components-mq 依赖) 也需要重新运行此命令
|
|
# docker build -t jeepay-deps:latest -f docs/Dockerfile .
|
|
# 启动命令 docker-compose up
|
|
# 启动并运行在后台 docker-compose up -d
|
|
# 重新编译 docker-compose up --build
|
|
# 重新创建 docker-composer up --force-recreate
|
|
# 重新编译并覆盖之前的 docker-composer up --build --force-recreate
|
|
|
|
|
|
# 编译前端请先执行 git submodule updata --init --recursive
|
|
# 或者 git clone https://gitee.com/jeequan/jeepay-ui.git
|
|
|
|
services:
|
|
mysql:
|
|
hostname: mysql
|
|
container_name: jeepay-mysql
|
|
# amd64 平台
|
|
#image: mysql/mysql-server:latest
|
|
image: mysql:8
|
|
environment:
|
|
LANG: C.UTF-8
|
|
MYSQL_ROOT_PASSWORD: "rootroot"
|
|
MYSQL_DATABASE: "jeepaydb"
|
|
MYSQL_USER: "jeepay"
|
|
MYSQL_PASSWORD: "jeepay"
|
|
ports:
|
|
- "3306:3306"
|
|
volumes:
|
|
- mysql:/var/lib/mysql
|
|
- ./docs/sql/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
|
|
networks:
|
|
jeepay:
|
|
ipv4_address: 172.20.0.10
|
|
activemq:
|
|
build:
|
|
context: ./docker/activemq
|
|
dockerfile: Dockerfile
|
|
hostname: activemq
|
|
container_name: jeepay-activemq
|
|
image: jeepay-activemq:latest
|
|
ports: #- "1883:1883"
|
|
#- "5672:5672"
|
|
- "8161:8161"
|
|
#- "61613:61613"
|
|
#- "61614:61614"
|
|
- "61616:61616"
|
|
volumes:
|
|
- activemq:/opt/activemq
|
|
- ./docker/activemq/activemq.xml:/opt/activemq/conf/activemq.xml
|
|
networks:
|
|
jeepay:
|
|
ipv4_address: 172.20.0.11
|
|
# 扩展额外延迟插件的 RabbitMQ
|
|
#rabbitmq:
|
|
# build:
|
|
# context: ./docker/rabbitmq
|
|
# dockerfile: Dockerfile
|
|
# hostname: rabbitmq
|
|
# container_name: jeepay-rabbitmq
|
|
# image: jeepay-rabbitmq:latest
|
|
# ports:
|
|
# - "15672:15672"
|
|
# - "4369:4369"
|
|
# - "5672:5672"
|
|
# - "25672:25672"
|
|
# environment:
|
|
# RABBITMQ_DEFAULT_USER: 'admin'
|
|
# RABBITMQ_DEFAULT_PASS: 'admin'
|
|
# RABBITMQ_DEFAULT_VHOST: 'jeepay'
|
|
# volumes:
|
|
# - rabbitmq:/var/lib/rabbitmq
|
|
# networks:
|
|
# jeepay:
|
|
# ipv4_address: 172.20.0.11
|
|
# 使用 activemq 如有需要请修改 docker/activemq.xml 下相关配置
|
|
#rocketmq-namesrv:
|
|
# image: apache/rocketmq:4.9.3
|
|
# container_name: rmqnamesrv
|
|
# ports:
|
|
# - 9876:9876
|
|
# volumes:
|
|
# - ./docker/rocketmq/namesrv/logs:/home/rocketmq/logs
|
|
# command: sh mqnamesrv
|
|
# networks:
|
|
# jeepay:
|
|
# ipv4_address: 172.20.0.11
|
|
#rocketmq-broker:
|
|
# image: apache/rocketmq:4.9.3
|
|
# container_name: rmqbroker
|
|
# ports:
|
|
# - 10909:10909
|
|
# - 10911:10911
|
|
# - 10912:10912
|
|
# environment:
|
|
# - NAMESRV_ADDR=namesrv:9876
|
|
# volumes:
|
|
# - ./docker/rocketmq/broker/logs:/home/rocketmq/logs
|
|
# - ./docker/rocketmq/broker/store:/home/rocketmq/store
|
|
# - ./docker/rocketmq/broker/conf/broker.conf:/opt/rocketmq-4.9.3/conf/broker.conf
|
|
# command: sh mqbroker -c /opt/rocketmq-4.9.3/conf/broker.conf
|
|
# depends_on:
|
|
# - rocketmq-namesrv
|
|
# networks:
|
|
# jeepay:
|
|
# ipv4_address: 172.20.0.13
|
|
redis:
|
|
hostname: redis
|
|
container_name: jeepay-redis
|
|
image: redis:latest
|
|
ports:
|
|
- "6380:6379"
|
|
networks:
|
|
jeepay:
|
|
ipv4_address: 172.20.0.12
|
|
volumes:
|
|
- redis:/data
|
|
payment:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
args:
|
|
PORT: 9216
|
|
PLATFORM: payment
|
|
image: jeepay-payment:latest
|
|
hostname: payment
|
|
container_name: jeepay-payment
|
|
ports:
|
|
- "9216:9216"
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
- activemq
|
|
# - rabbitmq
|
|
# - rocketmq-broker
|
|
networks:
|
|
jeepay:
|
|
ipv4_address: 172.20.0.21
|
|
volumes:
|
|
- ./logs/payment:/workspace/logs
|
|
- ./conf/payment/application.yml:/workspace/application.yml
|
|
manager:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
args:
|
|
PORT: 9217
|
|
PLATFORM: manager
|
|
image: jeepay-manager:latest
|
|
hostname: manager
|
|
container_name: jeepay-manager
|
|
ports:
|
|
- "9217:9217"
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
- activemq
|
|
# - rabbitmq
|
|
# - rocketmq-broker
|
|
networks:
|
|
jeepay:
|
|
ipv4_address: 172.20.0.22
|
|
volumes:
|
|
- ./logs/manager:/workspace/logs
|
|
- ./conf/manager/application.yml:/workspace/application.yml
|
|
merchant:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
args:
|
|
PORT: 9218
|
|
PLATFORM: merchant
|
|
image: jeepay-merchant:latest
|
|
hostname: merchant
|
|
container_name: jeepay-merchant
|
|
ports:
|
|
- "9218:9218"
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
- activemq
|
|
# - rabbitmq
|
|
# - rocketmq-broker
|
|
networks:
|
|
jeepay:
|
|
ipv4_address: 172.20.0.23
|
|
volumes:
|
|
- ./logs/merchant:/workspace/logs
|
|
- ./conf/merchant/application.yml:/workspace/application.yml
|
|
ui-payment:
|
|
build:
|
|
context: ${UI_BASE_DIR}/jeepay-ui
|
|
dockerfile: Dockerfile
|
|
args:
|
|
PLATFORM: cashier
|
|
image: jeepay-ui-payment:latest
|
|
hostname: payment-ui
|
|
container_name: jeepay-ui-payment
|
|
environment:
|
|
- BACKEND_HOST=172.20.0.21:9216
|
|
ports:
|
|
- "9226:80"
|
|
depends_on:
|
|
- payment
|
|
networks:
|
|
jeepay:
|
|
ipv4_address: 172.20.0.31
|
|
ui-manager:
|
|
build:
|
|
context: ${UI_BASE_DIR}/jeepay-ui
|
|
dockerfile: Dockerfile
|
|
args:
|
|
PLATFORM: manager
|
|
image: jeepay-ui-manager:latest
|
|
hostname: manager-ui
|
|
container_name: jeepay-ui-manager
|
|
environment:
|
|
- BACKEND_HOST=172.20.0.22:9217
|
|
ports:
|
|
- "9227:80"
|
|
depends_on:
|
|
- manager
|
|
networks:
|
|
jeepay:
|
|
ipv4_address: 172.20.0.32
|
|
ui-merchant:
|
|
build:
|
|
context: ${UI_BASE_DIR}/jeepay-ui
|
|
dockerfile: Dockerfile
|
|
args:
|
|
PLATFORM: merchant
|
|
image: jeepay-ui-merchant:latest
|
|
hostname: merchant-ui
|
|
container_name: jeepay-ui-merchant
|
|
environment:
|
|
- BACKEND_HOST=172.20.0.23:9218
|
|
ports:
|
|
- "9228:80"
|
|
depends_on:
|
|
- merchant
|
|
networks:
|
|
jeepay:
|
|
ipv4_address: 172.20.0.33
|
|
# 如果你需要对外完整配置,可以使用下面的方式
|
|
# https://www.digitalocean.com/community/tools/nginx?domains.0.server.domain=pay.test.com&domains.0.server.documentRoot=&domains.0.server.redirectSubdomains=false&domains.0.https.hsts=false&domains.0.https.hstsPreload=true&domains.0.php.php=false&domains.0.reverseProxy.reverseProxy=true&domains.0.reverseProxy.proxyPass=http%3A%2F%2F172.20.0.26%3A9226&domains.0.routing.index=index.html&domains.0.routing.fallbackHtml=true&domains.0.routing.fallbackPhp=false&domains.0.logging.accessLog=true&domains.0.logging.errorLog=true&global.reverseProxy.proxyCoexistenceXForwarded=remove&global.app.lang=zhCN
|
|
# 访问并配置好所有域名和代理,下载文件放到项目根目录下取名叫做 nginx.tar.gz
|
|
#nginx:
|
|
# image: nginx:latest
|
|
# hostname: nginx
|
|
# container_name: jeepay-nginx
|
|
# ports:
|
|
# - "80:80"
|
|
# - "443:443"
|
|
# depends_on:
|
|
# - ui-manager
|
|
# - ui-payment
|
|
# - ui-merchant
|
|
# volumes:
|
|
# - ./nginx.tar.gz:/etc/nginx/nginx.tar.gz
|
|
# # 需要给权限比如 chmod a+r ./conf/nginx.sh
|
|
# - ./docker/nginx.sh:/docker-entrypoint.d/nginx.sh
|
|
|
|
networks:
|
|
jeepay:
|
|
ipam:
|
|
config:
|
|
- subnet: 172.20.0.0/16
|
|
|
|
volumes:
|
|
mysql:
|
|
redis:
|
|
activemq:
|
|
# rabbitmq: |