blob: d2de4c230d9cd0237ffe40e2cf1276ee4fe19246 [file] [log] [blame]
version: '2'
services:
#
# Single-node consul agent
#
consul:
image: consul:latest
command: agent -server -bootstrap -client 0.0.0.0 -ui
ports:
- "8300:8300"
- "8400:8400"
- "8500:8500"
- "8600:8600/udp"
environment:
#SERVICE_53_IGNORE: "yes"
SERVICE_8300_IGNORE: "yes"
SERVICE_8400_IGNORE: "yes"
SERVICE_8500_NAME: "consul-rest"
#
# Registrator
#
registrator:
image: gliderlabs/registrator:latest
command: [
"-ip=${DOCKER_HOST_IP}",
"-retry-attempts", "100",
"-cleanup",
# "-internal",
"consul://consul:8500"
]
links:
- consul
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
#
# Fluentd log server
#
fluentd:
image: fluent/fluentd
ports:
- "24224:24224"
volumes:
- "/tmp/fluentd:/fluentd/log"
environment:
SERVICE_24224_NAME: "fluentd-intake"
#
# Voltha server instance(s)
#
voltha:
image: cord/voltha
command: [
"/voltha/voltha/main.py",
"-v",
"--consul=${DOCKER_HOST_IP}:8500",
"--fluentd=fluentd:24224",
"--rest-port=8880",
"--grpc-port=50556",
"--kafka=@kafka",
"--instance-id-is-container-name",
"--interface=eth1",
"--backend=consul",
"-v"
]
ports:
- 8880
- 50556
- 18880
- "60001:60001"
depends_on:
- consul
links:
- consul
- fluentd
environment:
SERVICE_8880_NAME: "voltha-health"
SERVICE_8880_CHECK_HTTP: "/health"
SERVICE_8880_CHECK_INTERVAL: "5s"
SERVICE_8880_CHECK_TIMEOUT: "1s"
SERVICE_18880_NAME: "voltha-sim-rest"
SERVICE_HOST_IP: "${DOCKER_HOST_IP}"
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
networks:
- default
- ponmgmt
envoy:
image: voltha/envoy
entrypoint:
- /usr/local/bin/envoyd
- -envoy-cfg-template
- "/envoy/voltha-grpc-proxy.template.json"
- -envoy-config
- "/envoy/voltha-grpc-proxy.json"
ports:
- "50555:50555"
- "8882:8882"
- "8443:8443"
- "8001:8001"
environment:
SERVICE_50555_NAME: "voltha-grpc"
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
networks:
- default
- ponmgmt
links:
- voltha:vcore
#
# Voltha cli container
#
vcli:
image: cord/vcli
command: [
"/cli/cli/setup.sh",
"-L",
"-G"
]
environment:
DOCKER_HOST_IP: "${DOCKER_HOST_IP}"
ports:
- "5022:22"
depends_on:
- voltha
#
# onos-1
#
onos1:
image: cord/onos
container_name: onos1
ports:
- 6633:6653
- 8101:8101
- 8181:8181
environment:
ONOS_APPS: drivers,openflow
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
restart: unless-stopped
#
# onos-2
#
onos2:
image: cord/onos
container_name: onos2
ports:
- 6644:6653
- 8102:8101
- 8182:8181
environment:
ONOS_APPS: drivers,openflow
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
restart: unless-stopped
#
# onos-3
#
onos3:
image: cord/onos
container_name: onos3
ports:
- 6655:6653
- 8103:8101
- 8183:8181
environment:
ONOS_APPS: drivers,openflow
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
restart: unless-stopped
#
# ofagent server instance
#
ofagent:
image: cord/ofagent
command: /ofagent/ofagent/main.py -v --consul=${DOCKER_HOST_IP}:8500 --fluentd=fluentd:24224 --controller ${DOCKER_HOST_IP}:6633 ${DOCKER_HOST_IP}:6644 ${DOCKER_HOST_IP}:6655 --grpc-endpoint=@voltha-grpc --instance-id-is-container-name
depends_on:
- consul
- voltha
links:
- consul
- fluentd
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
restart: unless-stopped
networks:
default:
driver: bridge
ponmgmt:
driver: bridge
driver_opts:
com.docker.network.bridge.name: "ponmgmt"