| version: "3" |
| |
| services: |
| |
| apisix: |
| build: |
| context: ./.. |
| dockerfile: centos/Dockerfile |
| 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: |
| ipv4_address: 172.18.5.11 |
| |
| etcd: |
| image: bitnami/etcd:3.4.9 |
| user: root |
| restart: always |
| volumes: |
| - ./etcd_data:/etcd_data |
| environment: |
| ETCD_DATA_DIR: /etcd_data |
| 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: |
| ipv4_address: 172.18.5.10 |
| |
| web1: |
| image: ruby:2-alpine |
| command: sh -c "mkdir -p /tmp/www && echo 'web1' > /tmp/www/web1.txt && ruby -run -ehttpd /tmp/www -p8000" |
| restart: always |
| ports: |
| - "9081:8000/tcp" |
| networks: |
| apisix: |
| ipv4_address: 172.18.5.12 |
| |
| web2: |
| image: ruby:2-alpine |
| command: sh -c "mkdir -p /tmp/www && echo 'web2' > /tmp/www/web2.txt && ruby -run -ehttpd /tmp/www -p8000" |
| restart: always |
| ports: |
| - "9082:8000/tcp" |
| networks: |
| apisix: |
| ipv4_address: 172.18.5.13 |
| |
| networks: |
| apisix: |
| driver: bridge |
| ipam: |
| config: |
| - subnet: 172.18.0.0/16 |