基于Docker安装apisix

本文记录了在没有合适教程的情况下,作者如何一步步安装ApiSix的过程,包括Docker和Docker-Compose的安装,配置文件的修改,以及启动和检查ApiSix服务的方法。同时,文中还列举了可能出现的问题及解决方案,如ETCD权限错误的处理,并提供了安装过程中的关键命令参考。
摘要由CSDN通过智能技术生成

因业务需要安装ApiSix,从网上都未找到合适的教程,只能自己尝试。中间遇到很多问题,特此记录一下安装步骤希望对大家有用。


一、整体步骤:

1、安装ApiSix前确保安装docker和docker-compose相关教程借鉴如下教程:

      Docker安装:https://docs.docker.com/engine/install/

      Docker-Compose安装:https://docs.docker.com/compose/install/

2、配置docker-compose和apisix的yml配置文件

3、启动docke中apisix服务


二、安装步骤:

从ApiSix官方说明中可得知,通过Docker镜像的方式安装ApiSix,但是官方的介绍过于简洁。如下图:

1、下载关于docker安装ApiSix示例。

https://github.com/apache/apisix-docker/tree/master/example

目录及文件介绍:

目录描述作用
apisix_confApisix配置文件路径;

 
1、 配置apisix监听路径
2、配置后台默认账号及密码
3、配置ETCD相关配置

apisix_log

Apisix的日志目录
dashboard_confApisix可视化配置目录
 
1、设置登陆账号以及密码
2、设置产生日志路径
3、设置可视化访问的端口
4、设置默认开启的插件
 
etcd_conf

ETCD配置目录

1、配置成员信息
2、配置集群信息
3、Proxy 代理
4、相关安全设置
 
etcd_dataETCD数据存放路径
mkcert相关证书存放目录
upstream关于nginx中Web服务的配置问存放目录
docker-compose.ymlDocker-compose的相关配置1、相关容器配置都放到此目录下,详细配置可以参考docker-compose官网配置

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、上传示例到服务器端

    服务器上opt目录下创建apisix_docker目录,把example所有文件以及文件夹上传到此目录下。设置目录权限,控制台进入opt目录下执行以下命令

chmod -R 777 /opt/apisix-docker/example/

4、linux命令进入example目录下执行启动docker容器脚本

docker-compose up -d

 5、等待容器启动,因我已经下载过了,不需要重新下载镜像,首次执行时需要下载的,耐心等待即可,有问题处理对应问题。

 6、执行以下命令查看容器是否启动成功

docker ps -a

7、容器启动成功后访问ApiSix仪表台,如下图成功访问

http://IP地址:9000/user/login?redirect=%2Fuser%2Flogin


三、常见问题 

1、    对应容器未启动时,通过docker ps -a查看正在运行容器状态时,如果存在并未占用端口,怎需要看下对应容器日志。执行一下命令查看日志
docker logs  容器id

2、    ETCD出现报错:cannot access data directory: mkdir /bitnami/etcd/data: permission denied,表示etcd启动时未没有创建db的权限,在opt目录下执行:chmod -R 777 /opt/apisix-docker/example/

四、安装过程中使用命令 

--停止指定容器
docker stop $(docker ps -qa)
--删除全部容器
docker rm $(docker ps -qa)
--删除指定容器
docker rmi   容器ID
--通过docker-compose 启动容器(目录必须包含docker-compose.yml)
docker-compose up -d
--查看所有镜像
docker images
--查看容器日志
docker logs -f
--进入到容器内部
docker exec -it 容器ID bash

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Seapeak_H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值