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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/94879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java类型转换和类型提升

目录 一、类型转换 1.1 自动类型转换(隐式) 1.1.1 int 与 long 之间 1.1.2 float 与 double 之间 1.1.3 int 与 byte 之间 1.2 强制类型转换(显示) 1.2.1 int 与 long 之间 1.2.2 float 与 double 之间 1.2.3 int 与 d…

【网络编程】UDP数据报套接字编程和TCP流套接字编程

文章目录 1. 网络编程基础1.1 为什么需要网络编程?1.2 网络编程是什么?1.3 概念 2. Socket套接字3. UDP数据报套接字编程3.1 DatagramSocket API3.2 DatagramPacket API3.3 InetSocketAddress API 4. UDP构建服务端客户端(一发一收&#xff0…

osg实现鼠标框选

目录 1. 需求的提出 2. 具体实现 2.1. 禁止场景跟随鼠标转动 2.2. 矩形框前置绘制 3. 附加说明 3.1. 颜色设置说明 3.2.矩形框显示和隐藏的另一种实现 1. 需求的提出 有时需要在屏幕通过按住键盘上的某个键如Ctrl键且按住鼠标左键,拖出一个矩形,实现框…

ValueError: check_hostname requires server_hostname

使用jupyter 下载js2py 异常 !pip install js2py ValueError: check_hostname requires server_hostname 一开始以为是数据源问题,切换阿里云 还是这个异常 结果发现是开魔法导致的,关闭魔法即可

怒刷LeetCode的第23天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一:贪心算法 方法二:动态规划 方法三:回溯算法 方法四:并查集 第二题 题目来源 题目内容 解决方法 方法一:排序和遍历 方法二:扫描线算法 方法…

英伟达NVIDIA驱动安装

一般,我们新的显卡上机或者新系统可能就需要重新安装显卡驱动。或者是我们在配置深度学习环境时候,需要手动安装驱动。 官网地址:官方高级驱动搜索 | NVIDIA 我们选择好自己需要的驱动后直接安装即可 下载的时候,选择自己需要的驱…

计算机竞赛 深度学习卷积神经网络垃圾分类系统 - 深度学习 神经网络 图像识别 垃圾分类 算法 小程序

文章目录 0 简介1 背景意义2 数据集3 数据探索4 数据增广(数据集补充)5 垃圾图像分类5.1 迁移学习5.1.1 什么是迁移学习?5.1.2 为什么要迁移学习? 5.2 模型选择5.3 训练环境5.3.1 硬件配置5.3.2 软件配置 5.4 训练过程5.5 模型分类效果(PC端) 6 构建垃圾…

JavaSE | 初识Java(一) | JDK \ JRE \ JVM

Java初识 Java 是一门半编译型、半解释型语言。先通过 javac 编译程序把源文件进行编译,编译后生成的 .class 文件是由字节 码组成的平台无关、面向 JVM 的文件。最后启动 java 虚拟机 来运行 .class 文件,此时 JVM 会将字节码转换成平台能够理…

线程的概述

#include <pthread.h> int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); 功能&#xff1a;创建一个子线程 参数&#xff1a; -thread:传出参数&#xff0c;线程创建成功后&#xff0c;子线程的ID被写到…

日常工作报告生成器微信小程序源码 支持日报,周报,月报,年终终结

相信大家上班都会有做工作报告的情况吧 那么这款小程序就是大家的福音了 只要输入你的工作内容或者岗位自动生成你的工作报告 支持报,周报,月报,年终终结 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/88391810 源码下载2&#xff1a;评论留言或私信…

竞赛选题 机器视觉的试卷批改系统 - opencv python 视觉识别

文章目录 0 简介1 项目背景2 项目目的3 系统设计3.1 目标对象3.2 系统架构3.3 软件设计方案 4 图像预处理4.1 灰度二值化4.2 形态学处理4.3 算式提取4.4 倾斜校正4.5 字符分割 5 字符识别5.1 支持向量机原理5.2 基于SVM的字符识别5.3 SVM算法实现 6 算法测试7 系统实现8 最后 0…

因为在此系统上禁止运行脚本

问题&#xff1a; 解决办法&#xff1a; vue项目搭建中"因为在此系统上禁止运行脚本"报错&#xff0c;解决方法 - 你的剧本 - 博客园 (cnblogs.com)

RDP协议流程详解(一)Connection Initiation阶段

Connetction Initiation是RDP连接的第一个阶段&#xff0c;具体包含两个消息RDP Negotiation Request和RDP Negotiation Response&#xff0c;下面结合协议数据包详细分析。 &#xff08;1&#xff09;RDP Negotiation Request 从数据包可以清晰看到此时的协议栈依次是TCP-TPKT…

反序列化漏洞

原理 反序列化是对象变成可以传输的字符串。 PHP反序列化的时候&#xff0c;基本都是围绕着serialize()&#xff0c;unserialize()这两个函数 serialize() 和 unserialize() 在 PHP内部没有漏洞的&#xff0c;产生反序列化漏洞是因为应用程序在处理对象、魔术函数以及序列化…

mysql面试题12:讲一讲MySQL中什么是半同步复制?底层实现?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:讲一讲mysql中什么是半同步复制?底层实现? MySQL中的半同步复制(Semi-Synchronous Replication)是一种复制模式,它在主服务器将数据写入到二…

10.2 调试事件获取DLL装载

理解了如何通过调试事件输出当前进程中寄存器信息&#xff0c;那么实现加载DLL模块也会变得很容易实现&#xff0c;加载DLL模块主要使用LOAD_DLL_DEBUG_EVENT这个通知事件&#xff0c;该事件可检测进程加载的模块信息&#xff0c;一旦有新模块被加载或装入那么则会触发一个通知…

k8s集群-6(daemonset job cronjob控制器)

Daemonset 一个节点部署一个节点 当有节点DaemonSet 确保全部 (或者某些) 节点上运行一个 Pod 的副本。加入集群时&#xff0c;也会为他们新增一个 Pod 。当有节点从集群移除时&#xff0c;这些Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。 DaemonSet 的典型用…

Swift SwiftUI CoreData 过滤数据 1

Xcode: Version 14.3.1 (14E300c) iOS: 16 预览&#xff1a; Code: import SwiftUI import CoreDatastruct TodosSearch: View {State private var search_title "测试"FetchRequest var todos_search: FetchedResults<Todo>init() {let request: NSFetchReq…

《机器学习实战》学习记录-ch2

PS: 个人笔记&#xff0c;建议不看 原书资料&#xff1a;https://github.com/ageron/handson-ml2 2.1数据获取 import pandas as pd data pd.read_csv(r"C:\Users\cyan\Desktop\AI\ML\handson-ml2\datasets\housing\housing.csv")data.head() data.info()<clas…

Access注入---Cookie注入

Access注入----Cookie注入Access数据库&#xff08;微软&#xff09; 逐渐淘汰 &#xff08;没有库的概念&#xff0c;是表的集合&#xff09;Access没有系统自带库Cookie注入&#xff08;头注入HEAD注入的&#xff09;php中产生Cookie注入的可能性小&#xff0c;但ASP产生Cook…