0% found this document useful (0 votes)
106 views

Docker Compose NoSQL

This document defines the configuration for multiple Docker containers to run various data analytics services including Zeppelin, Jupyter, Grafana, Redis, Cassandra, MongoDB, Elasticsearch, Kibana, Neo4j, InfluxDB, Chronograf, and Telegraf. Ports are exposed and volumes are mounted to facilitate communication between the services and persist data.

Uploaded by

aitlhaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
106 views

Docker Compose NoSQL

This document defines the configuration for multiple Docker containers to run various data analytics services including Zeppelin, Jupyter, Grafana, Redis, Cassandra, MongoDB, Elasticsearch, Kibana, Neo4j, InfluxDB, Chronograf, and Telegraf. Ports are exposed and volumes are mounted to facilitate communication between the services and persist data.

Uploaded by

aitlhaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

# =====================================================

# Platform: default
# =====================================================
version: '3.0'
services:
# ================================== Zeppelin
========================================== #}
zeppelin:
image: trivadis/apache-zeppelin:0.8.2-spark2.4-hadoop2.8
container_name: zeppelin
hostname: zeppelin
labels:
com.mdps.service.webui.name: Apache Zeppelin UI
com.mdps.service.webui.url: http://${PUBLIC_IP}:28080
ports:
- 28080:8080
# - "4040:4040"
# - "42331:42331"
env_file:
- ./conf/hadoop.env
environment:
ZEPPELIN_ADDR: 0.0.0.0
ZEPPELIN_PORT: '8080'
ZEPPELIN_INTERPRETER_CONNECT_TIMEOUT: 120000
ZEPPELIN_INTERPRETER_DEP_MVNREPO: https://repo.maven.apache.org/maven2
SPARK_MASTER: spark://spark-master:7077
# set spark-master for Zeppelin interpreter
MASTER: spark://spark-master:7077
SPARK_DRIVER_HOST: zeppelin
SPARK_DRIVER_BINDADDRESS: 0.0.0.0
PYSPARK_PYTHON: python3
# no longer necessary with 0.8.2 of Zepplin
# - SPARK_SUBMIT_OPTIONS="--packages org.apache.commons:commons-lang3:3.5"
# enableV4 to make it work with AWS Frankfurt region
SPARK_SUBMIT_OPTIONS: --conf spark.driver.extraJavaOptions=-
Dcom.amazonaws.services.s3.enableV4 --conf spark.executor.extraJavaOptions=-
Dcom.amazonaws.services.s3.enableV4
volumes:
- ./conf/spark/spark-defaults-memory.conf:/spark/conf/spark-defaults.conf
- ./container-volume/spark/logs/:/var/log/spark/logs
- ./conf/s3cfg:/root/.s3cfg
- ./conf/zeppelin/shiro.ini:/opt/zeppelin/conf/shiro.ini
- ./conf/zeppelin/interpreter-
setting.json:/opt/zeppelin/interpreter/spark/interpreter-setting.json
- ./data-transfer:/data-transfer
restart: unless-stopped
# ================================== Jupyter
========================================== #}
jupyter:
image: jupyter/minimal-notebook:latest
container_name: jupyter
hostname: jupyter
labels:
com.mdps.service.webui.name: Jupyter UI
com.mdps.service.webui.url: http://${PUBLIC_IP}:28888
ports:
- 28888:8888
environment:
JUPYTER_ENABLE_LAB: 'true'
JUPYTER_TOKEN: abc123!
GRANT_SUDO: 'true'
TINI_SUBREAPER: 'true'
restart: unless-stopped
# ================================== Grafana
========================================== #}
grafana:
image: grafana/grafana:6.5.0
hostname: grafana
container_name: grafana
labels:
com.mdps.service.webui.name: Grafana UI
com.mdps.service.webui.url: http://${PUBLIC_IP}:3000
expose:
- 3000
ports:
- 3000:3000
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=abc123!
volumes:
- ./plugins/grafana:/etc/grafana/provisioning
restart: unless-stopped
# ================================== Redis ==========================================
#}
redis:
container_name: redis
hostname: redis:latest
image: redis
ports:
- 6379:6379
restart: unless-stopped
redis-commander:
image: rediscommander/redis-commander:latest
container_name: redis-commander
hostname: redis-commander
labels:
com.mdps.service.webui.name: Redis Commander UI
com.mdps.service.webui.url: http://${PUBLIC_IP}:28119
ports:
- 28119:8081
environment:
- REDIS_HOSTS=local:redis:6379
restart: unless-stopped
# ================================== Cassandra
========================================== #}
cassandra-1:
image: cassandra:3
container_name: cassandra-1
hostname: cassandra-1
ports:
- 29042:9042
- 7199:7199
- 9160:9160
environment:
- CASSANDRA_SEEDS=cassandra-1
- CASSANDRA_CLUSTER_NAME="Test Cluster"
- CASSANDRA_DC=se1
- CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch
restart: unless-stopped
cassandra-web:
image: trivadis/cassandra-web
container_name: cassandra-web
hostname: cassandra-web
labels:
com.mdps.service.webui.name: Cassandra Web UI
com.mdps.service.webui.url: http://${PUBLIC_IP}:28120
ports:
- 28120:3000
environment:
- CASSANDRA_HOSTNAME=cassandra-1
- CASSANDRA_PORT=9042
- CASSANDRA_USERNAME=cassandra
- CASSANDRA_PASSWORD=cassandra
restart: unless-stopped
# ================================== MongoDB
========================================== #}
mongo-1:
image: mongo:latest
container_name: mongo-1
hostname: mongo-1
ports:
- 27017:27017
environment:
- MONGO_INITDB_DATABASE=sample
- MONGO_INITDB_USERNAME=admin
- MONGO_INITDB_PASSWORD=admin
volumes:
# seeding scripts
- ./conf/mongo-entrypoint:/docker-entrypoint-initdb.d
restart: unless-stopped
mongo-express:
image: mongo-express:latest
container_name: mongo-express
hostname: mongo-express
labels:
com.mdps.service.webui.name: Cassandra Web UI
com.mdps.service.webui.url: http://${PUBLIC_IP}:28123
ports:
- 28123:8081
environment:
- ME_CONFIG_MONGODB_SERVER=mongo-1
restart: unless-stopped
admin-mongo:
image: adicom/admin-mongo:latest
container_name: admin-mongo
hostname: admin-mongo
labels:
com.mdps.service.webui.name: Admin Mongo UI
com.mdps.service.webui.url: http://${PUBLIC_IP}:28124
ports:
- 28124:1234
restart: unless-stopped
# ================================== Elasticsearch
========================================== #}
elasticsearch-1:
image: elasticsearch:6.7.0
hostname: elasticsearch-1
container_name: elasticsearch-1
labels:
com.mdps.service.restapi.name: Elasticsearch REST API
com.mdps.service.restapi.url: http://${PUBLIC_IP}:9200
ports:
- 9200:9200
- 9300:9300
environment:
XPACK_SECURITY_enabled: 'false'
xpack.monitoring.enabled: 'false'
http.cors.enabled: 'true'
http.cors.allow-origin:
http://dejavu:1358,http://dataplatform:28125,http://analyticsplatform:28125,http://${PUBL
IC_IP}:28125,http://${DOCKER_HOST_IP}:28125,http://127.0.0.1:1358
http.cors.allow-headers: X-Requested-With,X-Auth-Token,Content-Type,Content-
Length,Authorization
http.cors.allow-credentials: 'true'
restart: unless-stopped
# ================================== Kibana ==========================================
#}
kibana:
image: kibana:6.6.0
hostname: kibana
container_name: kibana
labels:
com.mdps.service.webui.name: Kibana UI
com.mdps.service.webui.url: http://${PUBLIC_IP}:5601
depends_on:
- elasticsearch-1
ports:
- 5601:5601
environment:
xpack.monitoring.enabled: 'false'
discovery.type: single-node
elasticsearch.url: http://elasticsearch-1:9200
server.host: 0.0.0.0
SERVER_HOST: 0.0.0.0
server.name: kibana
SERVER_NAME: kibana
XPACK_GRAPH_enabled: 'false'
XPACK_MONITORING_enabled: 'false'
XPACK_REPORTING_enabled: 'false'
XPACK_SECURITY_enabled: 'false'
command: [/bin/bash, -c, /usr/share/kibana/bin/kibana-plugin remove x-pack;
/usr/local/bin/kibana-docker]
restart: unless-stopped
# ================================== Neo4J ==========================================
#}
neo4j-1:
image: neo4j:latest
hostname: neo4j-1
container_name: neo4j-1
labels:
com.mdps.service.webui.name: Neo4J UI
com.mdps.service.webui.url: http://${PUBLIC_IP}:7474
ports:
- 7474:7474
- 7687:7687
environment:
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
- NEO4J_HEAP_MEMORY=2048
- NEO4J_CACHE_MEMORY=1G
- NEO4J_AUTH=neo4j/abc123!
volumes:
# - "./conf/neo4j/neo4j.conf:/conf/neo4j.conf"
- ./plugins/neo4j/:/plugins
restart: unless-stopped
# ================================== InfluxData InfluxDB
========================================== #}
influxdb:
image: influxdb:latest
container_name: influxdb
hostname: influxdb
labels:
com.mdps.service.restapi.name: InfluxDB Rest API
com.mdps.service.restapi.url: http://${PUBLIC_IP}:8086
ports:
- 8086:8086
volumes:
- ./conf/influxdata/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf
- ./data-transfer:/data-transfer
restart: unless-stopped
influxdb-ui:
image: timeseriesadmin/timeseriesadmin:latest
container_name: influxdb-ui
hostname: influxdb-ui
labels:
com.mdps.service.webui.name: InfluxDB UI
com.mdps.service.webui.url: http://${PUBLIC_IP}:28128
ports:
- 28128:80
restart: unless-stopped
# ================================== InfluxData Chronograf
========================================== #}
chronograf:
image: chronograf:latest
hostname: chronograf
container_name: chronograf
labels:
com.mdps.service.webui.name: Chronograf UI
com.mdps.service.webui.url: http://${PUBLIC_IP}:28129
ports:
- 28129:8888
environment:
RESOURCES_PATH: /usr/share/chronograf/resources
PORT: 8888
HOST: chronograf
INFLUXDB_URL: http://influxdb:8086
depends_on:
- influxdb
restart: unless-stopped
# ================================== InfluxData Telegraf
========================================== #}
telegraf:
image: telegraf:latest
container_name: telegraf
hostname: telegraf
environment:
HOSTNAME: telegraf
volumes:
- ./conf/influxdata/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf
- ./data-transfer:/data-transfer
# Mount for Docker API access
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
# ================================== PostgreSQL
========================================== #}
postgresql:
image: postgres:latest
container_name: postgresql
hostname: postgresql
environment:
- POSTGRES_PASSWORD=sample
- POSTGRES_USER=sample
- POSTGRES_DB=sample
- PGDATA=/var/lib/postgresql/data/pgdata
volumes:
- ./init/postgresql:/docker-entrypoint-initdb.d/
restart: unless-stopped
# ================================== Adminer
========================================== #}
adminer:
image: adminer:latest
container_name: adminer
hostname: adminer
labels:
com.mdps.service.webui.name: Adminer UI
com.mdps.service.webui.url: http://${PUBLIC_IP}:28131
ports:
- 28131:8080
restart: unless-stopped
# ================================== cAdvisor
========================================== #}
cadvisor:
image: google/cadvisor:latest
container_name: cadvisor
hostname: cadvisor
labels:
com.mdps.service.webui.name: cAdvisor UI
com.mdps.service.webui.url: http://${PUBLIC_IP}:28138
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
ports:
- 28138:8080
restart: unless-stopped

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy