Gravitee.io Access Management docker-compose运行
Gravitee.io 官方提供的docker-compose 快速运行的方式
默认ui 账户 admin adminadmin
环境准备
- docker-compose 文件
#
# Copyright (C) 2015 The Gravitee team (http://gravitee.io)
#
# Licensed 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: '2'
volumes:
datamongo: {}
services:
nginx:
image: nginx:1.15-alpine
container_name: gio_am_nginx
restart: always
volumes:
- ./config/nginx.conf:/etc/nginx/nginx.conf
ports:
- ${NGINX_PORT}:80
depends_on:
- management
- gateway
- webui
mongodb:
image: mongo:3.4
container_name: gio_am_mongodb
restart: always
volumes:
- datamongo:/data/db
- ./logs/am-mongodb:/var/log/mongodb
gateway:
image: graviteeio/am-gateway:${GIO_AM_VERSION}
container_name: gio_am_gateway
restart: always
links:
- mongodb
depends_on:
- mongodb
volumes:
- ./logs/am-gateway:/etc/gravitee.io/log
environment:
- gravitee_management_mongodb_uri=mongodb://mongodb:27017/graviteeam?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000
- gravitee_oauth2_mongodb_uri=mongodb://mongodb:27017/graviteeam?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000
management:
image: graviteeio/am-management-api:${GIO_AM_VERSION}
container_name: gio_am_management
restart: always
links:
- mongodb
depends_on:
- mongodb
volumes:
- ./logs/am-management-api:/etc/gravitee.io/log
environment:
- gravitee_management_mongodb_uri=mongodb://mongodb:27017/graviteeam?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000
- gravitee_oauth2_mongodb_uri=mongodb://mongodb:27017/graviteeam?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000
webui:
image: graviteeio/am-management-ui:${GIO_AM_VERSION}
container_name: gio_am_webui
restart: always
depends_on:
- management
environment:
- MGMT_API_URL=http://localhost:${NGINX_PORT}/am/
- MGMT_UI_URL=http://localhost:${NGINX_PORT}/am/ui/
volumes:
- ./logs/am-webui:/var/log/httpd
- env 文件(系统运行的变量配置)
GIO_AM_VERSION=2
NGINX_PORT=80
- nginx.conf ( nginx proxy 的配置)
worker_processes 4;
events { worker_connections 1024; }
http {
include /etc/nginx/mime.types;
resolver 127.0.0.11 ipv6=off;
upstream management {
server management:8093;
}
upstream gateway {
server gateway:8092;
}
upstream webui {
server webui:80;
}
server {
listen 80;
location /am/ui/ {
proxy_pass http://webui/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
sub_filter '<base href="/"' '<base href="/am/ui/"';
sub_filter_once on;
}
location /am/management/ {
proxy_pass http://management/management/;
proxy_redirect http://$host:$server_port/am/ui/ /am/ui/;
proxy_redirect http://$host:$server_port/management/ /am/management/;
proxy_cookie_path /management /am/management;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
location /am/admin/ {
proxy_pass http://management/admin/;
proxy_redirect http://$http_host/admin/ http://$http_host/am/admin/;
proxy_cookie_path /admin /am/admin;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
location /am/ {
proxy_pass http://gateway/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Prefix /am;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
- 代码结构

运行&&效果
- 运行
docker-compose up -d
- 访问地址
gateway http://localhost/am
gayeway manager api http://localhost/am/management
manager ui http://localhost/am/ui/ - 界面

参考资料
https://docs.gravitee.io/am/2.x/am_installguide_docker.html
Gravitee.io Access Management docker-compose运行的更多相关文章
- Gravitee.io Access Management 组件
Access Management组件在Gravitee.io 主要是进行认证以及权鉴的处理,支持oauth2 以及openid connect 等协议,同时好多功能已经集成在ui 管理界面上了,还是 ...
- dotnet跨平台 - 使用Nginx+Docker Compose运行.NETCore项目
参考文档: https://docs.docker.com/install/linux/docker-ce/centos/ http://www.dockerinfo.net/document htt ...
- .NET遇上Docker - 使用Docker Compose组织Ngnix和.NETCore运行
本文工具准备: Docker for Windows Visual Studio 2015 与 Visual Studio Tools for Docker 或 Visual Studio 2017 ...
- 使用 pycharm调试docker环境运行的Odoo
2019日 星期一 安装docker windows系统,参考 docker官方文档 Mac系统,参考 docker官方文档 构建自定义ODOO镜像 标准ODOO镜像可能不包含特别的python模块, ...
- Docker:Docker Compose 详解
Docker Compose 概述与安装? 前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build.docker run 等命令操作容器.然而微服务架 ...
- Gravitee.io docker-compose运行
Gravitee.io 是一个相对比较完整的api gateway 平台,包含了api 相对比较完整的生命周期管理 同时在访问控制以及日志监控上也做的比较好,是一款可以尝试试用的api gateway ...
- 利用 Docker Compose 搭建 SpringBoot 运行环境(超详细步骤和分析)
0.前言 相信点进来看这篇文章的同学们已经对 Docker Dompose 有一定的了解了,下面,我们拿最简单的例子来介绍如何使用 Docker Compose 来管理项目. 本文例子: 一个应用服务 ...
- [Docker6] Docker compose多容器运行与管理
六.Docker compose docker compose就是通过yml文件来定义和运行多个容器docker应用程序的工具,三步过程就能跑起一个compose: 定义应用程序的环境(yml中) 定 ...
- [phvia/dkc] Docker Compose 快速构建(LNMP+Node)运行环境
快速构建(LNMP+Node)运行环境. dkc 在此作为 docker-compose 的缩写,你可以理解为 alias dkc=docker-compose 准备 安装 docker 选择1) 从 ...
随机推荐
- 开发中最好使用not exists 取代not in
开发中使用not in可能会存在致命的错误,在子查询中,如果存在空值,not in返回的数据就是空了,如下创建2张数据表: user表: 部门表: 现在要查询没有分配到用户的部门有哪些,使用not i ...
- easyui弹框后销毁当前tab弹框不显示的解决方式
var id=$("#pageId").val(); var message = "{\"id\":" + id+ ",\&quo ...
- CSS学习笔记-03- 过渡模块之前奏篇 a标签的伪类选择器
CSS3 2D转换CSS3 3D转换CSS3 过渡CSS3 动画 CSS3 的四大金刚. 想要实现酷炫的视觉效果,上面4个是必须要掌握的.学习之前,先复习一下 视觉盛宴的前菜 :a标签的伪类选择器 铛 ...
- Alpha冲刺3
前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/9971198.html 作业博客:https://edu.cnblogs.com/campus/ ...
- L259 合同
We are satisfied with the terms of this contract for the most part, but we feel that your terms of p ...
- WebService的一种简单应用方式入门
1.什么是WebService? WebService即Web服务,简单来讲,他就是一种跨编程语言和跨操作平台的远程调用技术. 2.Web服务: Web服务是基于HTTP和XML的技术:HTTP是互联 ...
- centos安装nginx和配置
安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装安装 nginx 需要先 ...
- mysql常见查询练习题
#建学生信息表student create table student ( sno varchar(20) not null primary key, sname varchar(20) not nu ...
- Python 通过队列实现一个生产者消费者模型
import time from multiprocessing import Process,Queue #生产者 def producer(q): for i in range(10): time ...
- 阿里云配置ssh
1.申请证书,从我的域名列表 右侧的操作栏中点击- ssl 2.配置 nginx config -> /etc/nginx/sites-enabled/default 底部添加:(我的是dj ...