Docker-12:Docker安装Apisix

Apache APISIX Docker 安装与配置实战

1. 背景

Docker

APISIX

Apisix 社区我关注了很久,大概从2020年的时候,我从 Apache 官网上了解到这个项目,那时候 Apisix 也孵化的差不多了,期间也在各种平台上做了很多推广。它给我最直观印象就是高性能网关,可以替代我们现在微服务网关/或者负载均衡的组件。

关于网关,可以参看此前文章,[[如何选择和设计微服务网关]] 这里仅说明安装步骤,因为在某个演示项目技术选型用到 Apisix 所以在开发环境部署一套服务,为后续服务迁移做技术预研究。

2. 环境准备

Apisix 官网上也提供了一揽子安装命令: docker pull apache/apisix ,也安装过,但是为了了解 Apisix 一些结构和细节,选择了使用 docker-conpose 这种方式安装,顺带着将官方提供样例中的文件夹浏览一遍,做到心中有数。

2.1. 容器环境

  • Docker
  • docker-compse

以上环境自行准备,此处不做赘述。

2.2. Clone项目

样例

目录名称描述用途
apisix_conf配置文件路径配置apisix监听路径、后台默认账号及密码、ETCD
apisix_log日志路径
dashboard_conf可视化配置路径设置登陆账号以及密码、设置产生日志路径、设置可视化访问的端口、设置默认开启的插件
etcd_confETCD配置路径配置成员、集群、代理、安全设置信息
etcd_data数据存放路径
mkcert相关证书存放路径
upstreamnginx中Web服务的配置问存放路径
docker-compose.ymlDocker-compose相关配置容器相关配置都放到此路径下

2.3. 上传示例

因为我在本地环境 Clone 的项目,所以要将 example 路径压缩上传到 Linux 服务器端。

  • 上传到服务器,解压 example 文件夹,我服务器演示路径为: /data/docker-compose/apisix ,以下只要未做特殊说明,操作路径皆为此。

  • 设置目录权限


chmod -R 777 /data/docker-compose/apisix/

这一步比较简单,就略过。

3. 修改配置文件

如果独立安装 ETCD 的,在 Apisix 依赖于 ETCD 配置修改 apisix_confdashboard_conf 目录下 config.yaml ,修改连接 ETCD 地址,修改为 ETCD 所在 IP地址。 具体地址参看 [[Docker-11:Docekr安装Etcd]] 章节

20220820232038


etcd:
  host:                           
    - "http://192.168.147.128:2379"     
  prefix: "/apisix"               
  timeout: 30

4. 启动

下来启动容器,执行 docker-compose up ,如果想直接后台运行, 使用 docker-compose up -d


docker-compose up

首次启动容器,等待时间有点久,需要构建所依赖的环境,耐心等待即可!

图例1

图例2

5. 验证服务

5.1. 查看容器状态


docker-compose ps

20220820234222

5.2. 访问可视化界面

在浏览器打开地址 http://192.168.147.128:9000/ ,用户名密码在 dashboard_conf/conf.yaml 配置文件中,默认登录的用户名 adminuser ,密码与用户名相同。

<think>我们面对的问题是如何停止和卸载运行在Docker中的ApacheAPISIXDashboard容器(具体镜像为apache/apisix-dashboard:3.0.1-alpine)。下面将分步骤说明操作过程。###步骤1:查找运行中的容器首先,我们需要找到正在运行的`apache/apisix-dashboard`容器。使用以下命令列出所有运行中的容器,并查找目标容器:```bashdockerps```如果你知道容器的名字(通常通过`--name`指定)或者镜像名(`apache/apisix-dashboard:3.0.1-alpine`),可以通过以下命令过滤:```bashdockerps--filter"ancestor=apache/apisix-dashboard:3.0.1-alpine"```或者使用容器名称(假设容器名称为`apisix-dashboard`):```bashdockerps--filter"name=apisix-dashboard"```###步骤2:停止容器假设我们查找到的容器ID为`<container_id>`(或者容器名称为`<container_name>`),使用以下命令停止容器:```bashdockerstop<container_id_or_name>```例如,如果容器ID是`abcd1234`,则命令为:```bashdockerstopabcd1234```###步骤3:删除容器容器停止后,我们可以将其删除:```bashdockerrm<container_id_or_name>```###步骤4:删除镜像(可选)如果你不再需要该镜像,可以将其删除。首先,确保没有容器(包括已停止的)使用该镜像,然后执行:```bashdockerrmiapache/apisix-dashboard:3.0.1-alpine```如果镜像被其他容器使用(即使已停止),需要先删除这些容器。或者强制删除镜像(不推荐,除非确定不再使用):```bashdockerrmi-fapache/apisix-dashboard:3.0.1-alpine```###注意事项-如果容器使用了数据卷(volumes),在删除容器后,这些数据卷可能仍然存在。你可以使用`dockervolumels`查看,并使用`dockervolumerm<volume_name>`删除不需要的卷。-如果容器在运行时有名称(通过`--name`指定),那么在停止和删除时使用容器名称可能更方便。###完整示例假设我们有一个名为`my-apisix-dashboard`的容器在运行,我们想停止并删除它:```bash#停止容器dockerstopmy-apisix-dashboard#删除容器dockerrmmy-apisix-dashboard#删除镜像(可选)dockerrmiapache/apisix-dashboard:3.0.1-alpine```§§相关问题§§1.如何查看Docker容器的日志以排查问题?2.如何删除Docker中未使用的资源(如镜像、容器、卷)?3.Docker中如何管理数据卷?</think>### 如何停止和卸载 Docker 中的 APISIX Dashboard #### 1. **停止运行中的容器** 首先查找容器的名称或 ID: ```bash docker ps --filter "ancestor=apache/apisix-dashboard:3.0.1-alpine" ``` 输出示例: ``` CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a1b2c3d4e5f6 apache/apisix-dashboard:3.0.1-alpine "/docker-entrypoint.…" 2 days ago Up 2 hours 0.0.0.0:9000->9000/tcp my-apisix-dashboard ``` 停止容器(使用容器 ID 或名称): ```bash docker stop a1b2c3d4e5f6 # 或 docker stop my-apisix-dashboard ``` #### 2. **卸载容器** 删除已停止的容器: ```bash docker rm a1b2c3d4e5f6 # 或 docker rm my-apisix-dashboard ``` #### 3. **删除镜像(可选)** 如果不再需要该镜像: ```bash docker rmi apache/apisix-dashboard:3.0.1-alpine ``` #### 4. **清理关联资源** - **删除匿名数据卷**(如果容器使用了 `-v`): ```bash docker volume prune ``` - **删除自定义网络**(如果创建了专用网络): ```bash docker network ls # 查看网络列表 docker network rm <network_name> ``` #### 注意事项 1. 如果容器通过 `docker-compose` 启动,直接在项目目录执行: ```bash docker-compose down --rmi all # 停止并删除容器、网络、镜像 ``` 2. 容器停止后,日志仍保留在 `/var/lib/docker/containers`,如需彻底清理: ```bash docker system prune -a # 谨慎使用!会删除所有未使用的资源 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王老邪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值