zoukankan      html  css  js  c++  java
  • APISIX系列 | 使用 docker-apisix 安装APISIX服务

    官方仓库:https://github.com/iresty/docker-apisix

    官方仓库

    拉取

    git clone git@github.com:iresty/docker-apisix.git

    安装 etcd 服务

    1、拉去etcd镜像

    docker pull bitnami/etcd:3.3.13-r80
    

    2、启动etcd服务器实例

    docker run -it --name etcd-server 
    -v /e/github/docker-apisix/example/etcd_conf/etcd.conf.yml:/opt/bitnami/etcd/conf/etcd.conf.yml 
    -p 2379:2379 
    -p 2380:2380  
    --env ALLOW_NONE_AUTHENTICATION=yes 
    -d bitnami/etcd:3.3.13-r80
    

     Windows 环境执行命令:

    docker run -it --name etcd-server -v /e/github/docker-apisix/example/etcd_conf/etcd.conf.yml:/opt/bitnami/etcd/conf/etcd.conf.yml -p 2379:2379 -p 2380:2380  --env ALLOW_NONE_AUTHENTICATION=yes -d bitnami/etcd:3.3.13-r80

    3、测试是否安装成功

    进入etcd实例

    docker exec -it etcd-server /bin/sh -c "[ -e /bin/bash ] && /bin/bash || /bin/sh"
    I have no name!@1d05cea9f08c:/opt/bitnami/etcd$

    测试

    $  etcdctl put key-test "Hi Tinywan!" // 设置
    OK
    I have no name!@1d05cea9f08c:/$  etcdctl get key-test // 获取
    key-test
    Hi Tinywan!
    I have no name!@1d05cea9f08c:/$  etcdctl del key-test // 删除
    1
    I have no name!@1d05cea9f08c:/$  etcdctl get key-test // 删除
    I have no name!@1d05cea9f08c:/$

    4、进入容器查看是否已经开启v2协议

    > docker exec -it etcd-server bash
    $ etcd --help |grep enable-v2
    usage: etcd [flags]
           start an etcd server
    
           etcd --version
           show the version of etcd
    
           etcd -h | --help
           show the help information about etcd
    
           etcd --config-file
           path to the server configuration file
    
           etcd gateway
           run the stateless pass-through etcd TCP connection forwarding proxy
    
           etcd grpc-proxy
           run the stateless etcd v3 gRPC L7 reverse proxy
    
            --enable-v2 'true'
            --experimental-enable-v2v3 ''
    

    --enable-v2 'true' 表示已经开启v2协议。

    原因:APISIX 目前仅支持 etcd 的 v2 协议存储,但最新版的 etcd (3.4 开始)已经默认关闭 v2 协议。 需要在启动参数中添加 --enable-v2=true,才能启用 v2 协议。  

    4、启动etcd客户端实例

    $ docker run -it --rm 
        --network app-tier 
        --env ALLOW_NONE_AUTHENTICATION=yes 
        bitnami/etcd:latest etcdctl --endpoints http://etcd-server:2379 set /message Hello

    Windows 环境

    docker run -it --rm --network app-tier --env ALLOW_NONE_AUTHENTICATION=yes bitnami/etcd:3.3.13-r80 etcdctl --endpoints http://etcd-server:2379 set /message Hello

    安装 apisix 服务

    使用官方镜像可能会超时,提示错误:request canceled (Client.Timeout exceeded while awaiting headers)

    1、拉去镜像

    docker pull registry.cn-beijing.aliyuncs.com/tinywan/apisix:alpine
    

    2、修改配置文件

    config.yaml

    etcd:
      host: "http://127.0.0.1:2379"   # etcd address

    修改为本机电脑的内网IP,windows 查看本地内网IP。打开命令行,输入 ipconfig

     修改后

    etcd:
      host: "http://192.168.1.3:2379"   # etcd address  

    2、运行服务

    > docker run  --name tinywan-api-gateway  
    -v /e/GitHub/docker-apisix/example/apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml 
    -v /e/GitHub/docker-apisix/example/apisix_log:/usr/local/apisix/logs  
    -p 8080:9080 
    -p 8083:9443 registry.cn-beijing.aliyuncs.com/tinywan/apisix:alpine
    

    这里挂在配置文件和日志目录都是使用的绝对路径

    windows 文件目录为

    E:GitHubdocker-apisix
    

     则挂在目录地址为

    /e/GitHub/docker-apisix

    3、查看服务是佛已经启动

    > docker ps
    CONTAINER ID        IMAGE                                                    COMMAND                  CREATED             STATUS                          PORTS                                            NAMES   
    7747e9a4bcd6        registry.cn-beijing.aliyuncs.com/tinywan/apisix:alpine   "sh -c '/usr/bin/api…"   14 seconds ago      Up 13 seconds                   0.0.0.0:8080->9080/tcp, 0.0.0.0:8083->9443/tcp   tinywan-api-gateway
    1d05cea9f08c        bitnami/etcd:3.3.13-r80                                  "/entrypoint.sh etcd"    29 minutes ago      Up 29 minutes                   0.0.0.0:2379-2380->2379-2380/tcp                 etcd-server

    控制台

    APISIX 内置了 dashboard,使用浏览器打开 http://127.0.0.1:8080/apisix/dashboard/ 即可使用, 不用填写用户名和密码,直接登录  

     直接点击登录

     恭喜你安装成功

  • 相关阅读:
    pat00-自测5. Shuffling Machine (20)
    Spiral Matrix
    Search in Rotated Sorted Array II
    Search in Rotated Sorted Array
    Best Time to Buy and Sell Stock II
    4Sum
    3Sum Closest
    3Sum
    MySQL存储过程、函数和游标
    Word Ladder
  • 原文地址:https://www.cnblogs.com/tinywan/p/11730034.html
Copyright © 2011-2022 走看看