在docker环境下配置apisix和apisix_dashboard
在docker环境下配置apisix和apisix_dashboard
1.准备工作
在开始之前,请确保你已经安装了以下工具
Docker
Docker Compose
2.安装apisix
在这里我使用docker compose来进行安装apisix.
(1)首先下载 apisix-docker 仓库。
git clone https://github.com/apache/apisix-docker.git
cd apisix-docker/example
然后,使用 docker-compose 启用 APISIX。
docker-compose -p docker-apisix up -d
(2)建议修改 Admin API 的 key,保护 APISIX 的安全。
首先,进入配置文件,我的配置文件在apisix_conf/conf.yaml中;
其次,进行修改密码;
操作:输入字母i,会进入插入模式,修改完成后点击Esc,输入:wq,进行保存退出。
(3)修改完之后要重新启动容器,我这里是先关闭容器,重新启动,要不然老是显示占用端口号;
docker compose down
docker compose up -d
(4)更新完成后,你可以使用新的 key 访问 Admin API:
curl http://127.0.0.1:9180/apisix/admin/routes?api_key=newsupersecurekey -i
3.接下来,我使用docker run 单独安装apisix_dashboard。
(1)首先,安装本地镜像
docker pull apache/apisix-dashboard:lastest
(2)查看apisix-dashboard相关端口是否被占用,没有被占用,没有输出内容
netstat -tlnp | grep 9000
(3)配置apisix_dashboard的配置文件,我在/root/apisix-docker/apisix-docker/example/下创建了目录dashboard_conf,里面创建了conf.yaml.
conf:
listen:
host: 0.0.0.0
port: 9000
allow_embedding: true
allow_list: []
etcd:
endpoints:
- http://docker-apisix-etcd-1:2379
username: ""
password: ""
authentication:
secret: "aSuperSecretKey_ChangeThisToRandom"
expire_time: 3600
users:
- username: admin
password: 123456
deployment:
admin:
admin_api_url: http://docker-apisix-apisix-1:9180
admin_key:
- "123456"
plugins:
- key-auth
- basic-auth
(4)使用docker run进行创建并运行镜像,
我本地的配置目录是/root/apisix-docker/apisix-docker/example/dashboard_conf/conf.yaml,这里需要改成自己对应的目录。
并且由于我上面使用的是容器内访问的方式,所以apisix的相关容器和apisix-dashboard容器应该在同一网络下,我的网络为docker-apisix_apisix,所以在创建apisix-dashboard容器的时候需要指定网络。
docker run -d
--name apisix-dashboard
--network docker-apisix_apisix
-p 9000:9000
-v /root/apisix-docker/apisix-docker/example/dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml
new-apisix-dashboard:latest
(5)在浏览器输入http://linux虚拟地址:9000,即可进行访问,配置完路由,也可以进行删除,下线等操作。
4.继续安装grafana。
(1)拉取镜像,可以拉取最新的,也可以指定版本,我这里使用7.3.7。
docker pull grafana/grafana:7.3.7
(2)在/root/apisix-docker/apisix-docker/example/grafana_conf下创建目录grafana_data
(3)创建并运行容器
docker run -d
--name=grafana
--restart=always
-p 3000:3000
-v /root/apisix-docker/apisix-docker/example/grafana_conf/grafana_data/:/var/lib/grafana
grafana/grafana:7.3.7