yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum install -y gcc gcc-c++
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
docker version
https://github.com/docker/compose/releases/tag/v2.21.0
chmod -R 777 /usr/local/bin/docker-compose
docker-compose version
git clone https://github.com/apache/apisix-docker.git
cd apisix-docker/example
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.? See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.? You may obtain a copy of the License at
#
#???? http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
version: "3"
services:
? apisix:
??? image: apache/apisix:${APISIX_IMAGE_TAG:-3.7.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://43.139.54.145: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:
? prometheus:
??? image: prom/prometheus:v2.25.0
??? restart: always
??? volumes:
????? - ./prometheus_conf/prometheus.yml:/etc/prometheus/prometheus.yml
??? ports:
????? - "9090:9090"
??? networks:
????? apisix:
? grafana:
??? image: grafana/grafana:7.3.7
??? restart: always
??? ports:
????? - "3000:3000"
??? volumes:
????? - "./grafana_conf/provisioning:/etc/grafana/provisioning"
????? - "./grafana_conf/dashboards:/var/lib/grafana/dashboards"
????? - "./grafana_conf/config/grafana.ini:/etc/grafana/grafana.ini"
??? networks:
????? apisix:
networks:
? apisix:
??? driver: bridge
volumes:
? etcd_data:
driver: local
修改etcd的IP地址
43.139.54.145是腾讯云外网ip
```
docker-compose -p docker-apisix up -d
docker ps -a
docker pull apache/apisix-dashboard
conf:
? listen:
??? host: 0.0.0.0?? # the address on which the `Manager API` should listen.
??????????????????? # The default value is 0.0.0.0, if want to specify, please enable it.
??????????????????? # This value accepts IPv4, IPv6, and hostname.
??? port: 9000????? # The port on which the `Manager API` should listen.
? allow_list:?????? # If we don't set any IP list, then any IP access is allowed by default.
? etcd:
??? endpoints:????? # supports defining multiple etcd host addresses for an etcd cluster
????? - 10.0.12.9:2379
? ## username: "root"? #如果没开启授权,可以注掉
? ## password: "root" #如果没开启授权,可以注掉
authentication:
? secret:
??? zQ5w5jkLDh3jZpywJ3sskrw6Yv633ruq
? expire_time: 3600???? # jwt token expire time, in second
? users:??????????????? # yamllint enable rule:comments-indentation
??? - username: admin
????? password: password
??? - username: user
????? password: password
10.0.12.9是腾讯云内网ip
cd /root
docker run -it -p 9000:9000 -v ./conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml apache/apisix-dashboard
docker ps -a
访问地址:http://43.139.54.145:9000,账号密码为conf.yaml文件中的
Grafana,账号密码均为admin