基于Docker安装apisix
因业务需要安装ApiSix,中间遇到很多问题,特此记录一下安装步骤整体步骤:1、安装ApiSix前确保安装docker和docker-compose相关教程借鉴如下教程:Docker安装:https://docs.docker.com/engine/install/Docker-Compose安装:https://docs.docker.com/compose/install/2、配置docker
因业务需要安装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_conf | Apisix配置文件路径; | 1、 配置apisix监听路径 2、配置后台默认账号及密码 3、配置ETCD相关配置 |
apisix_log | Apisix的日志目录 | |
dashboard_conf | Apisix可视化配置目录 | 1、设置登陆账号以及密码 2、设置产生日志路径 3、设置可视化访问的端口 4、设置默认开启的插件 |
etcd_conf | ETCD配置目录 | 1、配置成员信息 2、配置集群信息 3、Proxy 代理 4、相关安全设置 |
etcd_data | ETCD数据存放路径 | |
mkcert | 相关证书存放目录 | |
upstream | 关于nginx中Web服务的配置问存放目录 | |
docker-compose.yml | Docker-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
更多推荐
所有评论(0)