当前位置: 首页 > news >正文

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 和容器特性已安装并且开启。

  1. 右键单击 Windows 开始按钮并选择“应用和功能”页面。
  2. 单击“程序和功能”链接。
  3. 单击“启用或关闭Windows功能”。
  4. 确认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中&#xf…...

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. 游标的类型&#xff08;1&#xff09;显式游标&#xff08;2&#xff09;隐式游标 3. 游标的应用&#xff08;1&#xff09;基本用法&#xff08;2&#xff09;数据处理&#xff08;3&#xff09;更新数据&#xff08;4&#xff09;注意事…...

【Linux】——基操指令(二)

个人主页 代码仓库 C语言专栏 初阶数据结构专栏 Linux专栏 LeetCode刷题 算法专栏 目录 前言 man指令 cp 指令 mv指令 echo指令 cat指令 more指令 less指令 head和tail指令 head指令 tail指令 前言 上篇文章给大家讲解了Linux环境下的一点基操指令&#xf…...

如何用Angular和NativeScript开发IOS程序?

要使用Angular和NativeScript开发iOS应用程序&#xff0c;您可以按照以下步骤进行操作&#xff1a; 安装必要的工具&#xff1a; 确保您已经安装了Node.js和npm&#xff08;Node.js包管理器&#xff09;。 安装Angular CLI&#xff1a;如果尚未安装&#xff0c;请运行以下命令…...

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就出来了,问的问题有点变态

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到8月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%,…...

Spring Security 简单token配置

Spring Security 简单token配置 说明&#xff1a;非表单配置 先上码&#xff1a; https://gitee.com/qkzztx_admin/security-demo/tree/master/demo-two 环境&#xff1a;win10 idea2023 springboot2.7.6 maven3.8.6 代码清单说明 依赖&#xff1a; <dependency><…...

2023 “华为杯” 中国研究生数学建模竞赛(F题)深度剖析|数学建模完整代码+建模过程全解全析

F题代码思路 当大家面临着复杂的数学建模问题时&#xff0c;你是否曾经感到茫然无措&#xff1f;作为2021年美国大学生数学建模比赛的O奖得主&#xff0c;我为大家提供了一套优秀的解题思路&#xff0c;让你轻松应对各种难题。 让我们一起看看研赛的F题呀&#xff01;全文都已…...

FFmpeg 命令:从入门到精通 | ffplay 简单过滤器

FFmpeg 命令&#xff1a;从入门到精通 | ffplay 简单过滤器 FFmpeg 命令&#xff1a;从入门到精通 | ffplay 简单过滤器视频旋转视频反转视频旋转和反转音频变速播放视频变速播放音视频同时变速更多参考 FFmpeg 命令&#xff1a;从入门到精通 | ffplay 简单过滤器 本节介绍了简…...

应用在手机触摸屏中的电容式触摸芯片

触控屏&#xff08;Touch panel&#xff09;又称为触控面板&#xff0c;是个可接收触头等输入讯号的感应式液晶显示装置&#xff0c;当接触了屏幕上的图形按钮时&#xff0c;屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置&#xff0c;可用以取代机械式的按钮面板&…...

计算机网络之传输层

计算机网络 - 传输层 计算机网络 - 传输层 UDP 和 TCP 的特点UDP 首部格式TCP 首部格式TCP 的三次握手TCP 的四次挥手TCP 可靠传输TCP 滑动窗口TCP 流量控制TCP 拥塞控制 1. 慢开始与拥塞避免2. 快重传与快恢复 网络层只把分组发送到目的主机&#xff0c;但是真正通信的并不是…...

vue下载在前端存放的pdf文件

vue下载在前端存放的pdf文件 注意&#xff0c;这里要在public文件夹中新建文件夹存放静态资源&#xff0c;不能在src文件夹中新建文件夹存放静态资源&#xff0c;因为public文件夹中的文件资源不会被npm run build打包编译。大家打包一下&#xff0c;就会发现 模板.pdf文件 是存…...

自学WEB后端05-Node.js后端服务链接数据库redis

嘿&#xff0c;亲爱的小伙伴们&#xff01;&#x1f604; 今天我要给大家分享一个超级方便且高效的 NoSQL 类型数据库——Redis&#xff01;&#x1f4a1; 它可不是一般的关系型数据库哦&#xff0c;而是以键值对形式存储数据的内存数据库。&#x1f4da; 快跟着我一起来学习如…...

【计算机网络】 基于TCP的简单通讯(客户端)

文章目录 流程伪代码代码实现加载库创建套接字连接服务端收发数据关闭套接字、卸载库 测试 流程伪代码 //1、加载库//2、创建套接字//3、连接服务端while(true){//4、发送数据//5、接收数据} //6、关闭套接字、卸载库代码实现 加载库 int err 0;WORD version MAKEWORD(2, 2…...

RabbitMQ配置

centos7安装rabbitmq 官网教程&#xff1a;https://www.rabbitmq.com/install-rpm.html#downloads 官网介绍了两种安装方法&#xff1a; 安装使用yum库中的包&#xff08;强烈建议此选项&#xff09;上Cloudsmith.io或PackageCloud 下载软件包并使用rpm安装它。此选项将需要手…...

火热报名中 | 2天峰会、20+热门议题,AutoESG 2023数智低碳---中国汽车碳管理创新峰会亮点抢先看!

在碳中和的背景下&#xff0c;减碳之风吹遍全球&#xff0c;而汽车行业则由于产业链长、辐射面广、碳排放总量增长快、单车碳强度高的特点&#xff0c;成为各国碳排放管理的监管重点&#xff0c;聚焦汽车业的碳博弈也逐步升级。 2020年&#xff0c;国务院办公厅印发的《新能源…...

机器学习——seaborn实用画图方法简介

0、seaborn简介: 前言:下面的总结只是介绍seaborn有哪些方法和属性,至于具体使用,通过下面给出的名称稍作查找即可。重点应该关注本文介绍的seaborn的使用方法seaborn与机器学习的关系: 知识图谱 0.1、了解即可的知识: seaborn:在matplotlib的基础上画一些更好看的图,在…...

leetCode 188.买卖股票的最佳时机 IV 动态规划 + 状态压缩

给你一个整数数组 prices 和一个整数 k &#xff0c;其中 prices[i] 是某支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说&#xff0c;你最多可以买 k 次&#xff0c;卖 k 次。 注意&#xff1a;你不能同时参与多…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...