2023-03-01 更新
1.去github下载对应的example
https://github.com/apache/apisix-docker/tree/master/example
红框里面的是我们必要的目录和文件,grafana ,prometheus等文件可以按照需要保留【如果你想要那个功能的话】
2.修改配置文件,必须改,不然启动后用不了
修改apisix_conf目录下config.yaml,修改连接ETCD地址,修改为ETCD所在服务器IP地址
etcd:
host: # it's possible to define multiple etcd hosts addresses of the same etcd cluster.
- "http://服务器IP:2379" # multiple etcd address
prefix: "/apisix" # apisix configurations prefix
timeout: 30 # 30 seconds
3.修改docker-compose.yml文件
修改后的文件如下,复制就可以用了
version: "3"
services:
apisix-dashboard:
image: apache/apisix-dashboard:3.0.0-alpine
restart: always
volumes:
- ./dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml
ports:
- "9000:9000"
networks:
apisix:
apisix:
image: apache/apisix:${APISIX_IMAGE_TAG:-3.1.0-debian}
restart: always
volumes:
- ./apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
depends_on:
- etcd
##network_mode: host
ports:
- "9180:9180/tcp"
- "9080:9080/tcp"
- "9091:9091/tcp"
- "9443:9443/tcp"
- "9092:9092/tcp"
networks:
apisix:
etcd:
image: bitnami/etcd:3.4.15
restart: always
volumes:
- etcd_data:/bitnami/etcd
environment:
ETCD_ENABLE_V2: "true"
ALLOW_NONE_AUTHENTICATION: "yes"
ETCD_ADVERTISE_CLIENT_URLS: "http://etcd:2379"
ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"
ports:
- "2379:2379/tcp"
networks:
apisix:
networks:
apisix:
driver: bridge
volumes:
etcd_data:
driver: local
4.注意
遇到报错后记得用docker compose logs查看日志,然后再去google就好了