| version: "3" |
| |
| services: |
| apisix-dashboard: |
| image: apache/apisix-dashboard:2.7 |
| restart: always |
| volumes: |
| - ./dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml |
| ports: |
| - "9000:9000" |
| networks: |
| apisix: |
| |
| apisix: |
| image: apache/apisix:2.6-alpine |
| restart: always |
| volumes: |
| - ./apisix_log:/usr/local/apisix/logs |
| - ./apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro |
| depends_on: |
| - etcd |
| ##network_mode: host |
| ports: |
| - "9080:9080/tcp" |
| - "9443:9443/tcp" |
| networks: |
| apisix: |
| |
| etcd: |
| image: bitnami/etcd:3.4.15 |
| user: root |
| restart: always |
| volumes: |
| - ./etcd_data:/bitnami/etcd |
| environment: |
| ETCD_ENABLE_V2: "true" |
| ALLOW_NONE_AUTHENTICATION: "yes" |
| ETCD_ADVERTISE_CLIENT_URLS: "http://0.0.0.0:2379" |
| ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379" |
| ports: |
| - "2379:2379/tcp" |
| networks: |
| apisix: |
| |
| web1: |
| image: nginx:1.19.0-alpine |
| restart: always |
| volumes: |
| - ./upstream/web1.conf:/etc/nginx/nginx.conf |
| ports: |
| - "9081:80/tcp" |
| environment: |
| - NGINX_PORT=80 |
| networks: |
| apisix: |
| |
| web2: |
| image: nginx:1.19.0-alpine |
| restart: always |
| volumes: |
| - ./upstream/web2.conf:/etc/nginx/nginx.conf |
| ports: |
| - "9082:80/tcp" |
| environment: |
| - NGINX_PORT=80 |
| networks: |
| apisix: |
| |
| networks: |
| apisix: |
| driver: bridge |