Apisix 使用docker快速搭建步骤

2023-12-04 19:57:41 浏览数 (1)

本文是一个Apisix的快速搭建文章记录,如果想要了解更多Apisix的相关概念,请查看官网进行学习。https://apisix.apache.org/

本次安装,Linux服务器涉及的相关端口,尽量确保这些端口都没有被占用

本次安装,涉及到的dockers镜像

1、拉取etcd镜像

代码语言:javascript复制
docker pull bitnami/etcd:latest

2、查看etcd相关端口是否被占用

代码语言:javascript复制
netstat -tlnp | grep 2379
netstat -tlnp | grep 2380

3、生成etcd容器服务实例

代码语言:javascript复制
docker run -d -it --name etcd-server  
--restart=always -p 2379:2379 -p 2380:2380 
--env ALLOW_NONE_AUTHENTICATION=yes bitnami/etcd:latest

4、拉取apisix镜像

代码语言:javascript复制
docker pull apache/apisix:3.2.0-centos

5、查看apisix相关端口是否被占用

代码语言:javascript复制
netstat -tlnp | grep 9080
netstat -tlnp | grep 9443
netstat -tlnp | grep 9181
netstat -tlnp | grep 9182
netstat -tlnp | grep 9091
netstat -tlnp | grep 9092

6、生成apisix容器服务实例

代码语言:javascript复制
docker run -d --name apisix-server --restart=always 
 --network host 
 -v /home/apisix/config.yaml:/usr/local/apisix/conf/config.yaml:ro 
 -v /home/apisix/apisix_log:/usr/local/apisix/logs 
 -p 9080:9080 -p 9443:9443 -p 9181:9181 -p 9182:9182 
 -d apache/apisix:3.2.0-centos

可以挂载配置文件,

注意其中有etcd和prometheus的相关配置

https://github.com/apache/apisix-docker/blob/master/example/apisix_conf/config.yaml

7、拉取apisix-dashboard镜像

代码语言:javascript复制
docker pull apache/apisix-dashboard:3.0.1-centos

8、查看apisix-dashboard相关端口是否被占用

代码语言:javascript复制
netstat -tlnp | grep 9000

9、生成apisix-dashboard容器服务实例

代码语言:javascript复制
docker run -d -p 9000:9000 --restart=always 
--network host 
-v /home/apisix/dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml 
--name apisix-dashboard 
apache/apisix-dashboard:3.0.1-centos

可以挂载文件 , 账号密码在自定义的挂载文件中

https://github.com/apache/apisix-docker/blob/master/example/dashboard_conf/conf.yaml

10、访问9000端口查看后台管理页面

完成

11、Prometheus

代码语言:javascript复制
docker pull prom/prometheus:v2.25.0
netstat -tlnp | grep 9090
docker run -d --name prometheus --restart=always 
--network host 
-v /home/apisix/prometheus_conf/prometheus.yml:/etc/prometheus/prometheus.yml 
-p 9090:9090 -d prom/prometheus:v2.25.0

注意其中有关于apisix的job信息

12、grafana

代码语言:javascript复制
docker pull grafana/grafana:7.3.7
netstat -tlnp | grep 3000
docker run -d --name grafana --restart=always 
--network host 
-v /home/apisix/grafana_conf/provisioning:/etc/grafana/provisioning -v /dataB/soft/apisix/grafana_conf/dashboards:/var/lib/grafana/dashboards 
-v /home/apisix/grafana_conf/config/grafana.ini:/etc/grafana/grafana.ini 
-p 3000:3000 -d grafana/grafana:7.3.7

默认账号密码在挂载的ini文件中,默认admin/admin

这里挂载了三个文件

分别是dashboards中的看板json、ini的grafana配置文件

13、grafana开启认证访问

首先将挂载的grafana.ini配置文件中的匿名访问改成false,取消匿名

然后在启动的时候,可以在docker run 命令中,加入用户名密码配置,如:

代码语言:javascript复制
docker run -d --name grafana --restart=always --network host 
-e GF_SECURITY_ADMIN_USER=xxxxx
-e GF_SECURITY_ADMIN_PASSWORD=xxxx 
-v /home/apisix/grafana_conf/provisioning:/etc/grafana/provisioning 
-v /home/apisix/grafana_conf/dashboards:/var/lib/grafana/dashboards 
-v /home/apisix/grafana_conf/config/grafana.ini:/etc/grafana/grafana.ini 
-p 3000:3000 -d grafana/grafana:7.3.7

这样访问任意grafana页面,都会跳转到登录页。

0 人点赞