在Centos Stream 9中使用docker的方式安装APISIX、APISIX-DASHBOARD

这篇具有很好参考价值的文章主要介绍了在Centos Stream 9中使用docker的方式安装APISIX、APISIX-DASHBOARD。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、在虚拟机中安装Docker、Docker-compose

1.1、安装Docker

1.1.1、清除旧版本的docker

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

1.1.2、安装docker的依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

1.1.3、安装gcc

yum install -y gcc gcc-c++

1.1.4、添加软件源国内镜像

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.1.5、更新yum索引

yum makecache

1.1.6、安装docker-ce

yum install docker-ce docker-ce-cli containerd.io

1.1.7、启动docker,并设置开机启动

-- 启动docker
systemctl start docker
-- 设置docker开机启动
systemctl enable docker

1.1.8、验证docker的安装是否成功

docker version

docker apisix-dashboard,centos,docker,linux,云原生

1.2、安装Docker-compose

1.2.1、docker和docker-compose的兼容性

1.2.2、下载docker-compose的二进制文件

        方式一:

curl -L https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-'uname -s'-'uname -m' -o /usr/local/bin/docker-compose

        方式二(推荐):

                直接在github上下载,将其迁移到/usr/local/bin目录下,并授予读写权限。

                url:https://github.com/docker/compose/releases

chmod -R 777 /usr/local/bin/docker-compose

注意:此处尽可能选择在github上获取,国内的地址后期出现问题的几率较大,一次不成功多试几次。

1.2.3、验证docker-compose的安装是否成功

docker compose version

docker apisix-dashboard,centos,docker,linux,云原生

2、安装apisix

2.1、下载 apisix-docker仓库

git clone https://github.com/apache/apisix-docker.git

2.2、进入拉取的目录中

cd apisix-docker/example

2.3、修改docker-compose文件的内容

#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

version: "3"

services:
  apisix:
    image: apache/apisix:${APISIX_IMAGE_TAG:-3.7.0-debian}
    restart: always
    volumes:
      - ./apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
    depends_on:
      - etcd
    ##network_mode: host
    ports:
      - "9180:9180/tcp"
      - "9080:9080/tcp"
      - "9091:9091/tcp"
      - "9443:9443/tcp"
      - "9092:9092/tcp"
    networks:
      apisix:

  etcd:
    image: bitnami/etcd:3.4.15
    restart: always
    volumes:
      - etcd_data:/bitnami/etcd
    environment:
      ETCD_ENABLE_V2: "true"
      ALLOW_NONE_AUTHENTICATION: "yes"
      ETCD_ADVERTISE_CLIENT_URLS: "http://yourip:2379"
      ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"
    ports:
      - "2379:2379/tcp"
    networks:
      apisix:

  web1:
    image: nginx:1.19.0-alpine
    restart: always
    volumes:
      - ./upstream/web1.conf:/etc/nginx/nginx.conf
    ports:
      - "9081:80/tcp"
    environment:
      - NGINX_PORT=80
    networks:
      apisix:

  web2:
    image: nginx:1.19.0-alpine
    restart: always
    volumes:
      - ./upstream/web2.conf:/etc/nginx/nginx.conf
    ports:
      - "9082:80/tcp"
    environment:
      - NGINX_PORT=80
    networks:
      apisix:

  prometheus:
    image: prom/prometheus:v2.25.0
    restart: always
    volumes:
      - ./prometheus_conf/prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"
    networks:
      apisix:

  grafana:
    image: grafana/grafana:7.3.7
    restart: always
    ports:
      - "3000:3000"
    volumes:
      - "./grafana_conf/provisioning:/etc/grafana/provisioning"
      - "./grafana_conf/dashboards:/var/lib/grafana/dashboards"
      - "./grafana_conf/config/grafana.ini:/etc/grafana/grafana.ini"
    networks:
      apisix:

networks:
  apisix:
    driver: bridge

volumes:
  etcd_data:
    driver: local

该文件中主要修改下图中的位置

docker apisix-dashboard,centos,docker,linux,云原生

2.4、使用docker-compose启用 APISIX

docker-compose -p docker-apisix up -d

2.5、查看apisix安装的情况

docker ps -a

此处关注的点是观察全部容器是否为up状态。

docker apisix-dashboard,centos,docker,linux,云原生

3、安装apisix-dashboard

3.1、拉取apisix-dashboard镜像

docker pull apache/apisix-dashboard

3.2、添加dashboard的配置文件在/root路径下,conf.yaml

conf:
  listen:
    host: 0.0.0.0   # the address on which the `Manager API` should listen.
                    # The default value is 0.0.0.0, if want to specify, please enable it.
                    # This value accepts IPv4, IPv6, and hostname.
    port: 9000      # The port on which the `Manager API` should listen.

  allow_list:       # If we don't set any IP list, then any IP access is allowed by default.
  etcd:
    endpoints:      # supports defining multiple etcd host addresses for an etcd cluster
      - yourip:2379 # etcd install ip
authentication:
  secret:
    zQ5w5jkLDh3jZpywJ3sskrw6Yv633ruq
  expire_time: 3600     # jwt token expire time, in second
  users:                # yamllint enable rule:comments-indentation
    - username: admin       # dashboard login infomation
      password: password
    - username: user
      password: password

3.3、启动容器

docker run -d --name dashboard -p 9000:9000 -v <CONFIG_FILE>:/usr/local/apisix-dashboard/conf/conf.yaml apache/apisix-dashboard

-d:在后台运行
--name:设置镜像名称
-p:端口号
-v:配置信息的挂载

3.4、查看容器启动情况

docker apisix-dashboard,centos,docker,linux,云原生

4、测试

4.1、访问http://yourip:9000,可以访问到dashboard的页面,账号密码在conf.yaml文件中

docker apisix-dashboard,centos,docker,linux,云原生

4.2、访问http://yourip:3000,可以访问到grafana的页面,账号密码均为admin,需要输入两次

4.3、访问http://yourip:9090,可以访问到prometheus页面

至此apisix和apisix-dashboard安装完成。文章来源地址https://www.toymoban.com/news/detail-788579.html

到了这里,关于在Centos Stream 9中使用docker的方式安装APISIX、APISIX-DASHBOARD的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Centos stream 8 使用 cephadm 安装 Ceph (17.2.6 quincy)集群

    名称 IP 角色 备注 cephnode120 10.0.49.120 _admin 双网卡 双硬盘/sda/60G  /sdb/160G cephnode121 10.0.49.121 _storage 双网卡 双硬盘/sda/60G  /sdb/160G    cephnode122 10.0.49.122 _storage 双网卡 双硬盘/sda/60G  /sdb/160G centos8 因不再维护需将repos源换成阿里源  保存退出 :wq  cephadm 手动安装系统要求: Pyth

    2024年02月07日
    浏览(33)
  • Centos7 非docker方式安装Jellyfin10.8.8

            今天想着部署一台媒体服务器,找了一圈,发现Jellyfin这个还挺符合自己的要求的。搜了一下别人的部署教程,安装教程这种小东西竟然都有人要藏着掖着的不给看,能看的要么是好久没更新的老版本,还停留在10.6、10.7版本。使用docker安装,国外的源还奇慢无比

    2023年04月26日
    浏览(37)
  • 在Centos Stream 9上Docker的实操教程(六) - Docker Compose容器编排详解

    在了解 Docker-Compose 之前我们回忆一下之前章节所学,假设我们需要部署一个springboot项目,需要 nginx 、 mysql 、 redis ,通常我们启动这些服务run的时候需要设置每个容器的启动参数,指定数据卷,容器命名,指定不同容器的链接参数等等一系列的操作,是不是很繁琐?那么d

    2024年02月11日
    浏览(45)
  • Centos Stream 9 图文详细安装记录

    官方: https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/iso/ 清华:https://mirrors.tuna.tsinghua.edu.cn/centos-stream/9-stream/BaseOS/x86_64/iso/ 阿里云:https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/iso/ 两种包: boot.iso (后续安装源,花费太多时间,而且具容易下载出错) 只有启动引导,其它

    2024年02月09日
    浏览(43)
  • 在Centos Stream 9上Docker的实操教程(八) - Docker可视化管理工具

    🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》本专栏主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战 🌸《设计

    2024年02月11日
    浏览(47)
  • 在Centos Stream 9上Docker的实操教程(一) - 实操准备篇

    什么都要实操了,你还不知道Docker是什么?网上关于Docker的介绍一搜一大把,博主就不必浪费时间去侃侃而谈了,这里就大致帖一张图加深了解Docker和虚拟机之间的区别 博主使用的是MacOS环境,使用Parallels Desktop18 默认自带的Centos版本就是Centos Stream 9,直接按照提示安装即可

    2024年02月11日
    浏览(53)
  • 在Centos Stream 9上Docker的实操教程(七) - Docker上实现MYSQL实现主从复制

    🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》本专栏主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战 🌸《设计

    2024年02月10日
    浏览(54)
  • shell脚本使用(宿主机windows-服务器-centos)--用于使用shell脚本方式控制docker容器

    需求: 我想要使得windows上编写shell脚本,并且在这个shell脚本在linux中也可用 shell脚本在windows上无法直接运行,但是有WSL这个linux子系统的工具 可以使得shell脚本在主机上执行 视频讲解连接 方式1 方式2

    2024年02月07日
    浏览(47)
  • CentOS Stream9系统安装及初始化

    准备工作 1、下载 CentOS Stream 9 镜像文件 ISO。从官网中下载:https://www.centos.org/download/或者国内源:https://developer.aliyun.com/mirror/ 2、启动盘U盘的制作,很多人安装CentOS Stream 安装时,喜欢使用软碟通制作 U盘的 ISO 文件,注意不要使用软碟通制作,使用软碟通制作的U盘会出现故

    2024年02月10日
    浏览(60)
  • Linux系统管理:虚拟机Centos Stream 9安装

    目录 一、理论 1.Centos Stream 9 二、实验 1.虚拟机Centos Stream 9安装准备阶段 2.安装Centos Stream 9 3.进入系统 (1)  简介 CentOS Stream 是一种 Linux 操作系统。安装此操作系统的难题在于,在安装此系统之前,自己的操作系统是 Windows,而这两个系统是不兼容的。任何软件都必须在操作系

    2024年02月05日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包