Sign inSign up

supermap/imanager

By supermap

•Updated over 5 years ago

SuperMap iManager,全面的GIS运维管理中心

Image
1

1.6K

supermap/imanager repository overview

⁠支持的Tag

  • 10.1.1
  • 10.1.0
  • 10.0.1
  • 10.0.0
  • 9.1.2
  • 9.1.0
  • 9.0.1
  • 9.0.0

⁠什么是 SuperMap iManager?

SuperMap iManager是全面的GIS运维管理中心。


⁠怎样使用supermap/imanager:10.1.1

利用docker-compose来使用supermap/imanager:10.1.1

1.编写.env

DOCKER_CERTS_PATH=/etc/imanager/docker-cert
IMANAGER_HOST_IP=
IMANAGER_REGISTRY_URL=
IAAS_TYPE=
IAAS_DOCKER_IP=
COMPOSE_DOCKER_IP=
DOCKER_PORT=2375
LICENSE_SERVER=
KIBANA_PORT=5601
AIOPS_ENABLED=true
AIOPS_IMANAGER_SERVER_PASSWORD=
IMANAGER_HELP_URL=
IAM_LOGIN_ENABLE=false
IAM_LOGIN_URL=
IAM_CLIENT_ID=
IAM_CLIENT_SECRET=

其中

  • DOCKER_CERTS_PATH用于设置Docker证书所在路径, 默认为/etc/imanager/docker-cert
  • IMANAGER_HOST_IP 为iManager所在机器的ip,用于配置邮件通知内容中iManager 链接地址, ElasticSearch服务地址,Zabbix服务地址,Kibana服务地址,根据所在机器的真实ip填写(必填)
  • IMANAGER_REGISTRY_URL为iManager使用的镜像的私有仓库,默认使用hub.docker仓库 ,如果指定其他仓库,仓库地址地址后面要以/结束(可选)
  • IAAS_TYPE为虚拟平台类型,供选择项有:VSPHERE,DOCKER,OPENSTACK等 (必填)
  • IAAS_DOCKER_IP为创建GIS环境所使用的Docker,仅当虚拟平台类型为DOCKER时有效,默认使用本机(iManager所在机器)Docker环境 (可选)
  • COMPOSE_DOCKER_IP 为 compose应用使用的Docker主机的ip (必填)
  • DOCKER_PORT为docker暴漏的端口(必填)
  • LICENSE_SERVER为许可服务器地址,为空表示使用试用许可 (可选)
  • KIBANA_PORT 指定kibana端口,保持默认即可
  • AIOPS_IMANAGER_SERVER_PASSWORD为提供给智能报警服务的iManager的admin账户密码 (必填)
  • IMANAGER_HELP_URL为imanager帮助文档地址,默认使用https://help.supermap.com/iManager⁠ (可选)
  • IAM_LOGIN_ENABLE为是否开启华为登陆,默认false (可选)
  • IAM_LOGIN_URL为华为登陆地址,例如https://qa-iam-bam.besclouds.com:8081⁠ (可选)
  • IAM_CLIENT_ID为华为账户的client_id值 (可选)
  • IAM_CLIENT_SECRET为华为账户的client_secret值 (可选)

2.编写.env_db_mariadb

MYSQL_USER=zabbix
MYSQL_PASSWORD=zabbix
MYSQL_ROOT_PASSWORD=root_pwd
MYSQL_DATABASE=zabbix

该文件指定了zabbix服务所用数据库信息,其中

  • MYSQL_USER为数据库用户名
  • MYSQL_PASSWORD为用户登录密码
  • MYSQL_ROOT_PASSWORD为root账户登录密码
  • MYSQL_DATABASE为数据库名

3.编写docker-compose.yml

version: "2"
services:
  imanager:
    image: ${IMANAGER_REGISTRY_URL}supermap/imanager:10.1.1
    restart: always
    environment:
      - CATALINA_OPTS=-Duser.timezone=Asia/Shanghai
      - ZABBIX_SERVER=http://${IMANAGER_HOST_IP}:88/api_jsonrpc.php
      - ZABBIX_IP=${IMANAGER_HOST_IP}
      - ES_ADDRESS=${IMANAGER_HOST_IP}
      - ES_RESTPORT=9201
      - ES_TCPPORT=9301
      - KIBANA_ADDRESS=${IMANAGER_HOST_IP}
      - KIBANA_PORT=${KIBANA_PORT}
      - DB_URL=jdbc:mariadb://mariadb:3306/imanager?useUnicode=true&characterEncoding=utf8
      - COMPOSE_UI_HOST_IP=composeui
      - REGISTRY_URL=${IMANAGER_REGISTRY_URL}
      - DOCKER_IP=${COMPOSE_DOCKER_IP}
      - DOCKER_PORT=${DOCKER_PORT}
      - DOCKER_VERSION=1.26
      - EMAIL_ALARM_ENABLE=true
      - EMAIL_HOSTNAME=mailserver
      - EMAIL_SMTPPORT=25
      - [email protected]
      - EMAIL_PASSWORD=supermap
      - [email protected]
      - EMAIL_FROMUSERNAME=iManager
      - EMAIL_LOGIN_URL=http://${IMANAGER_HOST_IP}:8390/imanager
      - LICENSE_SERVER=${LICENSE_SERVER}
      - IAAS_TYPE=${IAAS_TYPE}
      - IAAS_DOCKER_IP=${IAAS_DOCKER_IP}
      - IMANAGER_HOST_IP=${IMANAGER_HOST_IP}
      - NGINX_CONF_PATH=/etc/imanager/nginx
      - KEEPALIVED_IMAGE=${IMANAGER_REGISTRY_URL}supermap/keepalived-imanager:latest
      - FTPD_IMAGE=${IMANAGER_REGISTRY_URL}supermap/pure-ftpd-imanager:latest
      - MYSQL_EXPORTER_IMAGE=${IMANAGER_REGISTRY_URL}supermap/mysqld-exporter:latest
      - ORACLE_EXPORTER_IMAGE=${IMANAGER_REGISTRY_URL}supermap/oracledb_exporter:latest
      - POSTGRES_EXPORTER_IMAGE=${IMANAGER_REGISTRY_URL}supermap/postgres_exporter:latest
      - BSLICENSE_SERVER=ws://${IMANAGER_HOST_IP}:9183
      - IPORTAL_TAG=latest
      - ISERVER_TAG=latest
      - IAM_LOGIN_ENABLE=${IAM_LOGIN_ENABLE}
      - IAM_LOGIN_URL=${IAM_LOGIN_URL}
      - IAM_CLIENT_ID=${IAM_CLIENT_ID}
      - IAM_CLIENT_SECRET=${IAM_CLIENT_SECRET}
    container_name: "imanager"
    ports:
      - "9083:9083"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - imgr-logs-volume:/etc/imanager/SuperMapiManager/logs
      - imgr-config-volume:/etc/imanager/imanager_config
      - nginx-volume:/etc/imanager/nginx
      - ${DOCKER_CERTS_PATH}:/etc/imanager/docker-cert
    links:
      - zabbix-server:zabbix-server
      - zabbix-web-nginx-mysql:zabbix-web-nginx-mysql
    depends_on:
      - "mariadb"
      - "zabbix-web-nginx-mysql"
      - "elastic"
      - "composeui" 
      - "nginx"
      - "kibana"
    command: ["/etc/imanager/wait-for-mysql.sh", "mariadb", "3306", "imanager", "imanager", "/etc/imanager/wait-for-it.sh","-t","0", "zabbix-web-nginx-mysql:80","--","/etc/imanager/start-imanager.sh"]

  imanager-ui:
    image: ${IMANAGER_REGISTRY_URL}supermap/imanager-ui:10.1.1
    restart: always
    ports:
      - "8390:8390"
    environment:
      - IMANAGER_API_SERVER=http://imanager:9083
      - BSLICENSE_UI=http://bslicense-ui:9283
      - AIOPS_UI=http://${IMANAGER_HOST_IP}:8283
      - PROTOCOL=http
      - ALLOW_HOSTS=
      - AIOPS_ENABLED=${AIOPS_ENABLED}
      - IMANAGER_HELP_URL=${IMANAGER_HELP_URL}
      - GRAFANA_URL=http://grafana:3000
    volumes:
      - imgr-cert-volume:/etc/icloud/imanager-ui/cert
  mariadb:
    image: ${IMANAGER_REGISTRY_URL}supermap/mariadbforimanager:10.1.1
    restart: always
    volumes:
      - imgr-mariadb-volume:/var/lib/mysql
    ports:
      - "3308:3306"
    mem_limit: 536870912
    environment:
      - MYSQL_USER=imanager
      - MYSQL_PASSWORD=imanager
      - MYSQL_ROOT_PASSWORD=supermap
      - MYSQL_DATABASE=imanager
      
  bslicense-server-withmariadb:
    image: ${IMANAGER_REGISTRY_URL}supermap/bslicense-server-withmariadb:10.1.1
    restart: always
    network_mode: "host"
    ports: 
      - "9183:9183"
    environment:
      - MANUAL_ENABLED=false
      - TRIAL_LICENSE_QUOTA_ENABLED=false
    volumes:
      - bslic-mariadb-volume:/var/lib/mysql
      
  bslicense-ui:
    image: ${IMANAGER_REGISTRY_URL}supermap/bslicense-ui:10.1.1
    restart: always
    environment:
      - BSLICENSE_SERVER=http://${IMANAGER_HOST_IP}:9183
    ports: 
      - "9283:9283"
     
  elastic:
    image: ${IMANAGER_REGISTRY_URL}supermap/elasticsearch:6.8.10
    restart: always
    ports:
      - "9201:9200"
      - "9301:9300"
    environment:
      - ES_JAVA_OPTS=-Xms128m -Xmx128m
      - cluster.name=docker-cluster
      - xpack.security.enabled=false
      - xpack.monitoring.enabled=false
      - xpack.graph.enabled=false
      - xpack.watcher.enabled=false
      - bootstrap.memory_lock=false
      - bootstrap.system_call_filter=false
    mem_limit: 536870912
    volumes:
      - esdata-volume:/usr/share/elasticsearch/data  

  kibana:
    image: ${IMANAGER_REGISTRY_URL}supermap/kibana:6.8.10
    restart: always
    ports:
      - "${KIBANA_PORT}:5601"
    links:
      - elastic:elasticsearch
    depends_on:
      - "elastic"
  
  composeui:
    image: ${IMANAGER_REGISTRY_URL}supermap/docker-compose-ui:latest
    restart: always
    env_file:
      - .env_composeui
    ports:
      - "5000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - composeui-volume:/opt/docker-compose-projects
      - ${DOCKER_CERTS_PATH}:/opt/composeui/docker-cert

  zabbix-server:
    image: ${IMANAGER_REGISTRY_URL}supermap/zabbix-server-mysql:ubuntu-4.2-latest
    restart: always
    ports:
      - "10051:10051"
    links:
      - mysql-server:mysql-server
      - zabbix-java-gateway:zabbix-java-gateway
    environment:
      - ZBX_JAVAGATEWAY_ENABLE=true
      - ZBX_STARTJAVAPOLLERS=5
      - ZBX_ENABLE_SNMP_TRAPS=false
      - ZBX_TIMEOUT=11
    env_file:
      - .env_db_mariadb
    depends_on:
      - "mysql-server"

  zabbix-web-nginx-mysql:
    image: ${IMANAGER_REGISTRY_URL}supermap/zabbix-web-nginx-mysql:ubuntu-4.2-php7.3.21
    restart: always
    ports:
      - "88:80"
      - "443:443"
    links:
      - mysql-server:mysql-server
      - zabbix-server:zabbix-server
    environment:
      - ZBX_SERVER_NAME=Composed installation
      - TZ=Asia/Shanghai
    env_file:
      - .env_db_mariadb
    depends_on:
      - "mysql-server"

  zabbix-java-gateway:
    image: ${IMANAGER_REGISTRY_URL}supermap/zabbix-java-gateway:ubuntu-4.2-latest
    restart: always
    ports:
      - "10052:10052"
    environment:
      - ZBX_TIMEOUT=11

  zabbix-proxy:
    image: ${IMANAGER_REGISTRY_URL}supermap/zabbix-proxy-sqlite3:ubuntu-4.2-latest
    restart: always
    environment:
      - ZBX_HOSTNAME=iManager Proxy
      - ZBX_SERVER_HOST=zabbix-server
      - ZBX_CONFIGFREQUENCY=30
      - ZBX_JAVAGATEWAY_ENABLE=true
      - ZBX_JAVAGATEWAY=zabbix-java-gateway
      - ZBX_STARTJAVAPOLLERS=5
    depends_on:
      - "zabbix-java-gateway"
    container_name: imanager-zabbix-proxy

  mysql-server:
    image: ${IMANAGER_REGISTRY_URL}supermap/mariadbforzabbix:10.1.1
    restart: always
    volumes:
      - zabbix-mariadb-volume:/var/lib/mysql
    env_file:
      - .env_db_mariadb

  adminer:
    image: ${IMANAGER_REGISTRY_URL}supermap/adminer:4.7.7
    restart: always
    ports:
      - "89:8080"
      
  nginx:
    image: ${IMANAGER_REGISTRY_URL}supermap/nginx-imanager:1.19.1
    restart: always
    volumes:
        - nginx-volume:/etc/nginx/conf.d
    network_mode: "host"
    container_name: "imanager-nginx"
    
  mailserver:
    image: ${IMANAGER_REGISTRY_URL}supermap/mailserver-imanager:latest
    restart: always
    hostname: mail
    domainname: imanager.com

  consul:
    image: ${IMANAGER_REGISTRY_URL}supermap/consul:latest
    restart: always
    ports:
      - "8510:8500"
    command: ["agent", "-server", "-bootstrap-expect=1", "-client=0.0.0.0", "-data-dir=/consul/data","-ui"]
    volumes:
      - consul-data-volume:/consul/data
  
  prometheus:
    image: ${IMANAGER_REGISTRY_URL}supermap/prometheus:latest
    restart: always
    ports:
      - "9090:9090"
    volumes:
      - prometheus-data-volume:/prometheus

  grafana:
    image: ${IMANAGER_REGISTRY_URL}supermap/grafana-imanager:10.1.1
    restart: always
    environment:
      - GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s:%(http_port)s/manager/grafana/
      - GF_SERVER_SERVE_FROM_SUB_PATH=true
    ports:
      - "3000:3000"
    volumes:
      - grafana-data-volume:/var/lib/grafana

networks:
  default:

volumes:
  imgr-mariadb-volume:
  imgr-config-volume:
  imgr-logs-volume:
  esdata-volume:
  zabbix-mariadb-volume:
  composeui-volume:
  nginx-volume:
  prometheus-data-volume:
  consul-data-volume:
  grafana-data-volume:
  bslic-mariadb-volume:
  imgr-cert-volume:

4.存储配置文件在本地而不是容器中

Docker volumes可以持久保存您的配置,您需要挂载本地文件夹到/etc/imanager/imanager_config下,如示例中:

 volumes:
      - ./imanager-config:/etc/imanager/imanager_config

就是将本地的./imanager-config挂载到容器/etc/imanager/imanager_config中。

需要注意的是您要对需要挂载的文件夹有读写权限,如对./imanager-config有读写权限。

5.使用iManager

运行sudo sysctl -w vm.max_map_count=262144 && docker-compose up -d,访问 http://{IMANAGER_HOST_IP}:8390 ,使用管理员账号密码(默认账号:admin 密码:admin)登录即可。

⁠怎样使用supermap/imanager:10.1.0

利用docker-compose来使用supermap/imanager:10.1.0

1.编写.env

IMANAGER_HOST_IP=
IMANAGER_REGISTRY_URL=
IAAS_TYPE=
IAAS_DOCKER_IP=
COMPOSE_DOCKER_IP=
DOCKER_PORT=2375
LICENSE_SERVER=
KIBANA_PORT=5601
AIOPS_ENABLED=true
AIOPS_IMANAGER_SERVER_PASSWORD=
IMANAGER_HELP_URL=
IAM_LOGIN_ENABLE=false
IAM_LOGIN_URL=
IAM_CLIENT_ID=
IAM_CLIENT_SECRET=

其中

  • IMANAGER_HOST_IP 为iManager所在机器的ip,用于配置邮件通知内容中iManager 链接地址, ElasticSearch服务地址,Zabbix服务地址,Kibana服务地址,根据所在机器的真实ip填写(必填)
  • IMANAGER_REGISTRY_URL为iManager使用的镜像的私有仓库,默认使用hub.docker仓库 ,如果指定其他仓库,仓库地址地址后面要以/结束(可选)
  • IAAS_TYPE为虚拟平台类型,供选择项有:VSPHERE,DOCKER,OPENSTACK等 (必填)
  • IAAS_DOCKER_IP为创建GIS环境所使用的Docker,仅当虚拟平台类型为DOCKER时有效,默认使用本机(iManager所在机器)Docker环境 (可选)
  • COMPOSE_DOCKER_IP 为 compose应用使用的Docker主机的ip (必填)
  • DOCKER_PORT为docker暴漏的端口(必填)
  • LICENSE_SERVER为许可服务器地址,为空表示使用试用许可 (可选)
  • KIBANA_PORT 指定kibana端口,保持默认即可
  • AIOPS_IMANAGER_SERVER_PASSWORD为提供给智能报警服务的iManager的admin账户密码 (必填)
  • IMANAGER_HELP_URL为imanager帮助文档地址,默认使用https://help.supermap.com/iManager⁠ (可选)
  • IAM_LOGIN_ENABLE为是否开启华为登陆,默认false (可选)
  • IAM_LOGIN_URL为华为登陆地址,例如https://qa-iam-bam.besclouds.com:8081⁠ (可选)
  • IAM_CLIENT_ID为华为账户的client_id值 (可选)
  • IAM_CLIENT_SECRET为华为账户的client_secret值 (可选)

2.编写.env_db_mysql

MYSQL_USER=zabbix
MYSQL_PASSWORD=zabbix
MYSQL_ROOT_PASSWORD=root_pwd
MYSQL_DATABASE=zabbix

该文件指定了zabbix服务所用数据库信息,其中

  • MYSQL_USER为数据库用户名
  • MYSQL_PASSWORD为用户登录密码
  • MYSQL_ROOT_PASSWORD为root账户登录密码
  • MYSQL_DATABASE为数据库名

3.编写docker-compose.yml

version: "2"
services:
  imanager:
    image: ${IMANAGER_REGISTRY_URL}supermap/imanager:10.1.0
    restart: always
    environment:
      - CATALINA_OPTS=-Duser.timezone=Asia/Shanghai
      - ZABBIX_SERVER=http://${IMANAGER_HOST_IP}:88/api_jsonrpc.php
      - ZABBIX_IP=${IMANAGER_HOST_IP}
      - ES_ADDRESS=${IMANAGER_HOST_IP}
      - ES_RESTPORT=9201
      - ES_TCPPORT=9301
      - KIBANA_ADDRESS=${IMANAGER_HOST_IP}
      - KIBANA_PORT=${KIBANA_PORT}
      - DB_URL=jdbc:mysql://mysqldb:3306/imanager?useUnicode=true&characterEncoding=utf8
      - COMPOSE_UI_HOST_IP=composeui
      - REGISTRY_URL=${IMANAGER_REGISTRY_URL}
      - DOCKER_IP=${COMPOSE_DOCKER_IP}
      - DOCKER_PORT=${DOCKER_PORT}
      - DOCKER_VERSION=1.26
      - EMAIL_ALARM_ENABLE=true
      - EMAIL_HOSTNAME=mailserver
      - EMAIL_SMTPPORT=25
      - [email protected]
      - EMAIL_PASSWORD=supermap
      - [email protected]
      - EMAIL_FROMUSERNAME=iManager
      - EMAIL_LOGIN_URL=http://${IMANAGER_HOST_IP}:8390/imanager
      - LICENSE_SERVER=${LICENSE_SERVER}
      - IAAS_TYPE=${IAAS_TYPE}
      - IAAS_DOCKER_IP=${IAAS_DOCKER_IP}
      - IMANAGER_HOST_IP=${IMANAGER_HOST_IP}
      - NGINX_CONF_PATH=/etc/imanager/nginx
      - KEEPALIVED_IMAGE=${IMANAGER_REGISTRY_URL}supermap/keepalived-imanager:latest
      - FTPD_IMAGE=${IMANAGER_REGISTRY_URL}supermap/pure-ftpd-imanager:latest
      - MYSQL_EXPORTER_IMAGE=${IMANAGER_REGISTRY_URL}supermap/mysqld-exporter:latest
      - ORACLE_EXPORTER_IMAGE=${IMANAGER_REGISTRY_URL}supermap/oracledb_exporter:latest
      - POSTGRES_EXPORTER_IMAGE=${IMANAGER_REGISTRY_URL}supermap/postgres_exporter:latest
      - BSLICENSE_SERVER=ws://${IMANAGER_HOST_IP}:9183
      - IPORTAL_TAG=latest
      - ISERVER_TAG=latest
      - IAM_LOGIN_ENABLE=${IAM_LOGIN_ENABLE}
      - IAM_LOGIN_URL=${IAM_LOGIN_URL}
      - IAM_CLIENT_ID=${IAM_CLIENT_ID}
      - IAM_CLIENT_SECRET=${IAM_CLIENT_SECRET}
    container_name: "imanager"
    ports:
      - "9083:9083"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - imgr-logs-volume:/etc/imanager/SuperMapiManager/logs
      - imgr-config-volume:/etc/imanager/imanager_config
      - nginx-volume:/etc/imanager/nginx
    links:
      - zabbix-server:zabbix-server
      - zabbix-web-nginx-mysql:zabbix-web-nginx-mysql
      
    depends_on:
      - "mysqldb"
      - "zabbix-web-nginx-mysql"
      - "elastic"
      - "composeui" 
      - "nginx"
      - "kibana"
    command: ["/etc/imanager/wait-for-mysql.sh", "mysqldb", "3306", "imanager", "imanager", "/etc/imanager/wait-for-it.sh","-t","0", "zabbix-web-nginx-mysql:80","--","/etc/imanager/start-imanager.sh"]

  imanager-ui:
    image: ${IMANAGER_REGISTRY_URL}supermap/imanager-ui:10.1.0
    restart: always
    ports:
      - "8390:8390"
    environment:
      - IMANAGER_API_SERVER=http://${IMANAGER_HOST_IP}:9083
      - BSLICENSE_UI=http://bslicense-ui:9283
      - AIOPS_UI=http://${IMANAGER_HOST_IP}:8283
      - PROTOCOL=http
      - ALLOW_HOSTS=
      - AIOPS_ENABLED=${AIOPS_ENABLED}
      - IMANAGER_HELP_URL=${IMANAGER_HELP_URL}
    volumes:
      - imgr-cert-volume:/etc/icloud/imanager-ui/cert
  mysqldb:
    image: ${IMANAGER_REGISTRY_URL}supermap/mysqlforimanager:10.1.0
    restart: always
    volumes:
      - imgr-mysql-volume:/var/lib/mysql
    ports:
      - "3308:3306"
    mem_limit: 536870912
    environment:
      - MYSQL_USER=imanager
      - MYSQL_PASSWORD=imanager
      - MYSQL_ROOT_PASSWORD=supermap
      - MYSQL_DATABASE=imanager
      
  bslicense-server-withmariadb:
    image: ${IMANAGER_REGISTRY_URL}supermap/bslicense-server-withmariadb:10.1.0
    restart: always
    network_mode: "host"
    ports: 
      - "9183:9183"
    environment:
      - MANUAL_ENABLED=false
      - TRIAL_LICENSE_QUOTA_ENABLED=false
    volumes:
      - bslic-mysql-volume:/var/lib/mysql
      
  bslicense-ui:
    image: ${IMANAGER_REGISTRY_URL}supermap/bslicense-ui:10.1.0
    restart: always
    environment:
      - BSLICENSE_SERVER=http://${IMANAGER_HOST_IP}:9183
    ports: 
      - "9283:9283"
     
  elastic:
    image: ${IMANAGER_REGISTRY_URL}supermap/elasticsearch:5.3.1
    restart: always
    ports:
      - "9201:9200"
      - "9301:9300"
    environment:
      - ES_JAVA_OPTS=-Xms128m -Xmx128m
      - cluster.name=docker-cluster
      - xpack.security.enabled=false
      - xpack.monitoring.enabled=false
      - xpack.graph.enabled=false
      - xpack.watcher.enabled=false
      - bootstrap.memory_lock=false
      - bootstrap.system_call_filter=false
    mem_limit: 536870912
    volumes:
      - esdata-volume:/usr/share/elasticsearch/data  

  kibana:
    image: ${IMANAGER_REGISTRY_URL}supermap/kibana:5.3.1
    restart: always
    ports:
      - "${KIBANA_PORT}:5601"
    links:
      - elastic:elasticsearch
    depends_on:
      - "elastic"
  
  composeui:
    image: ${IMANAGER_REGISTRY_URL}supermap/docker-compose-ui:latest
    restart: always
    ports:
      - "5000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - composeui-volume:/opt/docker-compose-projects

  zabbix-server:
    image: ${IMANAGER_REGISTRY_URL}supermap/zabbix-server-mysql:ubuntu-4.2-latest
    restart: always
    ports:
      - "10051:10051"
    links:
      - mysql-server:mysql-server
      - zabbix-java-gateway:zabbix-java-gateway
    environment:
      - ZBX_JAVAGATEWAY_ENABLE=true
      - ZBX_STARTJAVAPOLLERS=5
      - ZBX_ENABLE_SNMP_TRAPS=false
      - ZBX_TIMEOUT=11
    env_file:
      - .env_db_mysql
    depends_on:
      - "mysql-server"

  zabbix-web-nginx-mysql:
    image: ${IMANAGER_REGISTRY_URL}supermap/zabbix-web-nginx-mysql:ubuntu-4.2-php7.3.21
    restart: always
    ports:
      - "88:80"
      - "443:443"
    links:
      - mysql-server:mysql-server
      - zabbix-server:zabbix-server
    environment:
      - ZBX_SERVER_NAME=Composed installation
      - TZ=Asia/Shanghai
    env_file:
      - .env_db_mysql
    depends_on:
      - "mysql-server"

  zabbix-java-gateway:
    image: ${IMANAGER_REGISTRY_URL}supermap/zabbix-java-gateway:ubuntu-4.2-latest
    restart: always
    ports:
      - "10052:10052"
    environment:
      - ZBX_TIMEOUT=11

  zabbix-proxy:
    image: ${IMANAGER_REGISTRY_URL}supermap/zabbix-proxy-sqlite3:ubuntu-4.2-latest
    restart: always
    environment:
      - ZBX_HOSTNAME=iManager Proxy
      - ZBX_SERVER_HOST=zabbix-server
      - ZBX_CONFIGFREQUENCY=30
      - ZBX_JAVAGATEWAY_ENABLE=true
      - ZBX_JAVAGATEWAY=zabbix-java-gateway
      - ZBX_STARTJAVAPOLLERS=5
    depends_on:
      - "zabbix-java-gateway"
    container_name: imanager-zabbix-proxy

  mysql-server:
    image: ${IMANAGER_REGISTRY_URL}supermap/mysqlforzabbix:5.7.12
    restart: always
    volumes:
      - zabbix-mysql-volume:/var/lib/mysql
    env_file:
      - .env_db_mysql

  adminer:
    image: ${IMANAGER_REGISTRY_URL}supermap/adminer:4.7.7
    restart: always
    ports:
      - "89:8080"
      
  nginx:
    image: ${IMANAGER_REGISTRY_URL}supermap/nginx-imanager:1.19.1
    restart: always
    volumes:
        - nginx-volume:/etc/nginx/conf.d
    network_mode: "host"
    container_name: "imanager-nginx"
    
  mailserver:
    image: ${IMANAGER_REGISTRY_URL}supermap/mailserver-imanager:latest
    restart: always
    hostname: mail
    domainname: imanager.com

  consul:
    image: ${IMANAGER_REGISTRY_URL}supermap/consul:latest
    restart: always
    ports:
      - "8500:8500"
    command: ["agent", "-server", "-bootstrap-expect=1", "-client=0.0.0.0", "-data-dir=/consul/data","-ui"]
    volumes:
      - consul-data-volume:/consul/data
  
  prometheus:
    image: ${IMANAGER_REGISTRY_URL}supermap/prometheus:latest
    restart: always
    ports:
      - "9090:9090"
    volumes:
      - prometheus-data-volume:/prometheus

  grafana:
    image: ${IMANAGER_REGISTRY_URL}supermap/grafana-imanager:10.1.0
    restart: always
    ports:
      - "3000:3000"
    volumes:
      - grafana-data-volume:/var/lib/grafana

networks:
  default:

volumes:
  imgr-mysql-volume:
  imgr-config-volume:
  imgr-logs-volume:
  esdata-volume:
  zabbix-mysql-volume:
  composeui-volume:
  nginx-volume:
  prometheus-data-volume:
  consul-data-volume:
  grafana-data-volume:
  bslic-mysql-volume:
  imgr-cert-volume:
  

4.存储配置文件在本地而不是容器中

Docker volumes可以持久保存您的配置,您需要挂载本地文件夹到/etc/imanager/imanager_config下,如示例中:

 volumes:
      - ./imanager-config:/etc/imanager/imanager_config

就是将本地的./imanager-config挂载到容器/etc/imanager/imanager_config中。

需要注意的是您要对需要挂载的文件夹有读写权限,如对./imanager-config有读写权限。

5.使用iManager

运行sudo sysctl -w vm.max_map_count=262144 && docker-compose up -d,访问 http://{IMANAGER_HOST_IP}:8390 ,使用管理员账号密码(默认账号:admin 密码:admin)登录即可。

Tag summary

Content type

Image

Digest

Size

572.2 MB

Last updated

over 5 years ago

docker pull supermap/imanager