docker安装apisix全教程包含windows和linux
docker安装apisix
- 一、Windows安装
- 1、首先需要安装docker和docker compose,如果直接安装docker desktop,会自动安装docker compose。
- 2、重新启动电脑
- 3、访问 Docker 的下载([https://www.docker.com/products/docker-desktop](https://www.docker.com/products/docker-desktop))页面,并单击其中的 Download for Windows 按钮。
- 4、双击docker-desktop安装包进行安装
- 5、下载apisix仓库,并使用docker-compose 启动apisix(会自动安装相关依赖,包括etcd),以下是安装命令。
- 默认从master分支下载
- 也可以从指定分支下载
- 将当前的目录切换到apisix-docker/example路径下:
- 运行docker-compose命令,启动Apache APISIX:
- 二、Linux安装
- 1、首先安装docker:
- 安装依赖包
- 设置阿里云镜像源
- 安装 Docker-CE
- 查看版本
- 启动docker服务
- 2、安装docker-compose
- 下载Docker Compose的可执行文件。可以使用以下命令下载最新版本:
- 下载缓慢可以使用国内代理服务下载:
- 赋予可执行权限给下载的二进制文件:
- 创建一个符号链接,将docker-compose命令链接到/usr/bin目录,以便可以全局访问:
- 验证安装是否成功。运行以下命令,查看Docker Compose版本信息:
- 3、下载apisix-docker仓库
- 4、启动
- 指定到apisix-docker/example文件夹下
- 然后执行启动命令
一、Windows安装
1、首先需要安装docker和docker compose,如果直接安装docker desktop,会自动安装docker compose。
在安装之前,Windows 版 Docker 的环境有以下要求。
Windows 10 Pro(专业版) / Enterprise(企业版) / Education(教育版)(1607 Anniversary Update、Build 14393 或者更新的版本)。
Windows 必须是 64 位的版本。
需要启用 Windows 操作系统中的 Hyper-V 和容器特性。
接下来的步骤会假设读者的计算机已经开启了 BIOS 设置中的硬件虚拟化支持。如果没有开启,读者需要在机器上执行下面的步骤。
首先,读者需要确认在 Windows 10 操作系统中,Hyper-V 和容器特性已安装并且开启。
- 右键单击 Windows 开始按钮并选择“应用和功能”页面。
- 单击“程序和功能”链接。
- 单击“启用或关闭Windows功能”。
- 确认Hyper-V和容器复选框已经被勾选,并单击确定按钮。
按上述步骤操作完成后,会安装并开启 Hyper-V 和容器特性,如下图所示。这时需要重启操作系统。

勾选三个功能然后点击确定



需要开启虚拟化

其中,容器特性只有在 summer 2016 Windows 10 Anniversary Update(build 14393)版本或更高版本上才能开启。
当读者完成 Hyper-V 和容器特性的安装并重启机器之后,就可以安装 Windows 版 Docker 了。
2、重新启动电脑
3、访问 Docker 的下载(https://www.docker.com/products/docker-desktop)页面,并单击其中的 Download for Windows 按钮。
4、双击docker-desktop安装包进行安装




重启电脑后,双击图标

点击accept

5、下载apisix仓库,并使用docker-compose 启动apisix(会自动安装相关依赖,包括etcd),以下是安装命令。
将Apache APISIX的Docker镜像下载到本地
这里可以选择下载指定版本的APISIX,只需要选择指定分支即可
如:可以选择分支release/apisix-3.4.1
默认从master分支下载
git clone https://github.com/apache/apisix-docker.git
也可以从指定分支下载
git clone -b release/apisix-3.4.1 https://github.com/apache/apisix-docker.git
将当前的目录切换到apisix-docker/example路径下:
cd apisix-docker/example
运行docker-compose命令,启动Apache APISIX:
docker-compose -p docker-apisix up -d


访问地址:
apisix dashboard: http://localhost:9000/,用户名/密码:admin/admin
grafana: http://localhost:3000
apixsix:http://localhost:9080
上游服务(测试): http://localhost:9081(web1-1)、http://localhost:9082(web2-1)
注:
windows系统重启之后,apisix启动后一直重启,重启的日志:
nginx: [emerg] bind() to unix:/usr/local/apisix/conf/config_listen.sock failed (98: Address already in use)
包括端口号9080一直不起作用的问题
没用找到好的解决方法,只能在docker desktop中把apisix 容器删除,重启执行命令:
docker-compose -p docker-apisix up -d
在apisix的upstream配置目标节点的ip,如果是本机,ip不能配置为localhost,需要配置本机的具体ip地址,这是因为配置成localhost,而apisix部署在本机的docker 虚拟机是没法访问localhost对应端口
参考链接:https://www.jianshu.com/p/9b422e585c24
二、Linux安装
1、首先安装docker:
执行docker -v 查看版本号。若无版本号则需要安装docker。
安装依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
设置阿里云镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 Docker-CE
sudo yum install docker-ce
然后询问是否继续时均点击y
查看版本
docker version
启动docker服务
sudo systemctl start docker
2、安装docker-compose
执行 docker-compose --version 查看版本号,若无版本号则需要安装。图示在本章末尾。
要在Linux上安装Docker Compose命令,可以按照以下步骤进行操作:
下载Docker Compose的可执行文件。可以使用以下命令下载最新版本:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
下载缓慢可以使用国内代理服务下载:
sudo curl -L "https://ghproxy.com/https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
如果要安装特定版本的Docker Compose,请将上述命令中的latest替换为所需的版本号。
赋予可执行权限给下载的二进制文件:
sudo chmod +x /usr/local/bin/docker-compose
创建一个符号链接,将docker-compose命令链接到/usr/bin目录,以便可以全局访问:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
验证安装是否成功。运行以下命令,查看Docker Compose版本信息:
docker-compose --version
如果安装成功,将显示Docker Compose的版本号。
这样,就成功在Linux上安装了Docker Compose命令。现在你可以使用docker-compose命令来管理和运行基于Docker Compose的应用程序。
原文链接:https://blog.csdn.net/weixin_51311218/article/details/131376823


3、下载apisix-docker仓库
若linux有git,执行
git clone https://github.com/apache/apisix-docker.git
若linux无git,则访问链接https://github.com/apache/apisix-docker下载压缩包后解压缩,然后导入linux,放在指定位置,
本次apisix-docker文件放置在/usr/local/文件夹下
4、启动
指定到apisix-docker/example文件夹下
cd /usr/local/apisix-docker/example
然后执行启动命令
docker-compose -p docker-apisix up -d
相关文章:
docker安装apisix全教程包含windows和linux
docker安装apisix 一、Windows安装1、首先需要安装docker和docker compose,如果直接安装docker desktop,会自动安装docker compose。2、重新启动电脑3、访问 Docker 的下载([https://www.docker.com/products/docker-desktop](https://www.do…...
【C++进阶】:C++11
C11 一.统一列表的初始化1.{}初始化2.initializer_list 二.声明1.decltype2.nullptr 三.右值引用和移动语义1.左值和右值1.转义语句2.完美转发 四.可变参数模板1.基本概念2.STL里emplace类接口 五.lambda表达式六.新的类功能 一.统一列表的初始化 1.{}初始化 在C98中…...
9.30消息队列实现进程之间通信方式代码,现象
服务端 #include <myhead.h>#define ERR_MSG(msg) do{\fprintf(stderr,"__%d__:",__LINE__);\perror(msg);\ }while(0)typedef struct{ long msgtype; //消息类型char data[1024]; //消息正文 }Msg;#define SIZE sizeof(Msg)-sizeof(long)int main(int argc…...
【Oracle】Oracle系列之十三--游标
文章目录 往期回顾前言1. 游标的定义2. 游标的类型(1)显式游标(2)隐式游标 3. 游标的应用(1)基本用法(2)数据处理(3)更新数据(4)注意事…...
【Linux】——基操指令(二)
个人主页 代码仓库 C语言专栏 初阶数据结构专栏 Linux专栏 LeetCode刷题 算法专栏 目录 前言 man指令 cp 指令 mv指令 echo指令 cat指令 more指令 less指令 head和tail指令 head指令 tail指令 前言 上篇文章给大家讲解了Linux环境下的一点基操指令…...
如何用Angular和NativeScript开发IOS程序?
要使用Angular和NativeScript开发iOS应用程序,您可以按照以下步骤进行操作: 安装必要的工具: 确保您已经安装了Node.js和npm(Node.js包管理器)。 安装Angular CLI:如果尚未安装,请运行以下命令…...
python 使用 scapy 扫描内网IP或端口
地址信息在IP层, 可以利用 ICMP 或 ARP 协议数据包探测IP信息. ICMP协议可以利用ping工具发送数据包, 但是防火墙有可能禁止ICMP, 无法有效探测, 可以考虑使用ARP探测. 利用ICMP协议探测内网IP def ping_ip(ip_fex):# 扫描范围: 128~254for i in range(128, 255):ip f{ip_fe…...
14:00面试,14:08就出来了,问的问题有点变态
从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到8月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%,…...
Spring Security 简单token配置
Spring Security 简单token配置 说明:非表单配置 先上码: https://gitee.com/qkzztx_admin/security-demo/tree/master/demo-two 环境:win10 idea2023 springboot2.7.6 maven3.8.6 代码清单说明 依赖: <dependency><…...
2023 “华为杯” 中国研究生数学建模竞赛(F题)深度剖析|数学建模完整代码+建模过程全解全析
F题代码思路 当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2021年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 让我们一起看看研赛的F题呀!全文都已…...
FFmpeg 命令:从入门到精通 | ffplay 简单过滤器
FFmpeg 命令:从入门到精通 | ffplay 简单过滤器 FFmpeg 命令:从入门到精通 | ffplay 简单过滤器视频旋转视频反转视频旋转和反转音频变速播放视频变速播放音视频同时变速更多参考 FFmpeg 命令:从入门到精通 | ffplay 简单过滤器 本节介绍了简…...
应用在手机触摸屏中的电容式触摸芯片
触控屏(Touch panel)又称为触控面板,是个可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板&…...
计算机网络之传输层
计算机网络 - 传输层 计算机网络 - 传输层 UDP 和 TCP 的特点UDP 首部格式TCP 首部格式TCP 的三次握手TCP 的四次挥手TCP 可靠传输TCP 滑动窗口TCP 流量控制TCP 拥塞控制 1. 慢开始与拥塞避免2. 快重传与快恢复 网络层只把分组发送到目的主机,但是真正通信的并不是…...
vue下载在前端存放的pdf文件
vue下载在前端存放的pdf文件 注意,这里要在public文件夹中新建文件夹存放静态资源,不能在src文件夹中新建文件夹存放静态资源,因为public文件夹中的文件资源不会被npm run build打包编译。大家打包一下,就会发现 模板.pdf文件 是存…...
自学WEB后端05-Node.js后端服务链接数据库redis
嘿,亲爱的小伙伴们!😄 今天我要给大家分享一个超级方便且高效的 NoSQL 类型数据库——Redis!💡 它可不是一般的关系型数据库哦,而是以键值对形式存储数据的内存数据库。📚 快跟着我一起来学习如…...
【计算机网络】 基于TCP的简单通讯(客户端)
文章目录 流程伪代码代码实现加载库创建套接字连接服务端收发数据关闭套接字、卸载库 测试 流程伪代码 //1、加载库//2、创建套接字//3、连接服务端while(true){//4、发送数据//5、接收数据} //6、关闭套接字、卸载库代码实现 加载库 int err 0;WORD version MAKEWORD(2, 2…...
RabbitMQ配置
centos7安装rabbitmq 官网教程:https://www.rabbitmq.com/install-rpm.html#downloads 官网介绍了两种安装方法: 安装使用yum库中的包(强烈建议此选项)上Cloudsmith.io或PackageCloud 下载软件包并使用rpm安装它。此选项将需要手…...
火热报名中 | 2天峰会、20+热门议题,AutoESG 2023数智低碳---中国汽车碳管理创新峰会亮点抢先看!
在碳中和的背景下,减碳之风吹遍全球,而汽车行业则由于产业链长、辐射面广、碳排放总量增长快、单车碳强度高的特点,成为各国碳排放管理的监管重点,聚焦汽车业的碳博弈也逐步升级。 2020年,国务院办公厅印发的《新能源…...
机器学习——seaborn实用画图方法简介
0、seaborn简介: 前言:下面的总结只是介绍seaborn有哪些方法和属性,至于具体使用,通过下面给出的名称稍作查找即可。重点应该关注本文介绍的seaborn的使用方法seaborn与机器学习的关系: 知识图谱 0.1、了解即可的知识: seaborn:在matplotlib的基础上画一些更好看的图,在…...
leetCode 188.买卖股票的最佳时机 IV 动态规划 + 状态压缩
给你一个整数数组 prices 和一个整数 k ,其中 prices[i] 是某支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说,你最多可以买 k 次,卖 k 次。 注意:你不能同时参与多…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
