diff --git a/docker-compose-singlefodctr-vol.yml b/docker-compose-singlefodctr-vol.yml new file mode 100644 index 0000000000000000000000000000000000000000..70d50a51601573fd81e41151d5d05b6e3e423035 --- /dev/null +++ b/docker-compose-singlefodctr-vol.yml @@ -0,0 +1,114 @@ +version: "3" +services: + fod: + build: + context: . + dockerfile: docker-compose/Dockerfile_FOD + container_name: fodvol + privileged: true + expose: + - "8000" + ports: + - "0.0.0.0:8000:8000" + env_file: + - ./docker-compose/.env_fod_singlectr + #environment: + #- fod_volume_use=0 + networks: + mgmt: + xfod: + ipv4_address: 10.197.36.2 + volumes: + - ./:/opt/FOD + + freertr: + build: + context: docker-compose + dockerfile: Dockerfile_FREERTR + container_name: freertr + privileged: true + expose: + - "23" + ports: + - "127.0.0.1:2323:2323" + env_file: + - ./docker-compose/.env_freertr + networks: + mgmt: + nhost1: + ipv4_address: 10.1.10.3 + nhost2: + ipv4_address: 10.2.10.3 + xfod: + ipv4_address: 10.197.36.3 + depends_on: + - fod + volumes: + - freertr:/opt + - ./freertr/run:/rtr/run/ + + host1: + build: + context: docker-compose + dockerfile: Dockerfile_HOST1 + container_name: host1 + privileged: true + env_file: + - ./docker-compose/.env_host1 + networks: + mgmt: + nhost1: + ipv4_address: 10.1.10.11 + depends_on: + - fod + #volumes: + # - freertr:/opt + + host2: + build: + context: docker-compose + dockerfile: Dockerfile_HOST2 + container_name: host2 + privileged: true + env_file: + - ./docker-compose/.env_host2 + networks: + mgmt: + nhost2: + ipv4_address: 10.2.10.12 + depends_on: + - fod + #volumes: + # - freertr:/opt + +networks: + mgmt: + driver: bridge + ipam: + driver: default + config: + - subnet: 11.11.11.0/24 + + xfod: + driver: bridge + ipam: + driver: default + config: + - subnet: 10.197.36.0/28 + + nhost1: + driver: bridge + ipam: + driver: default + config: + - subnet: 10.1.10.0/24 + + nhost2: + driver: bridge + ipam: + driver: default + config: + - subnet: 10.2.10.0/24 + +volumes: + freertr: diff --git a/docker-compose/README.txt b/docker-compose/README.txt index 7f029cdee26f5438a19a716da6f3932da37d66b5..ca5d384e02cfaedf743bb472438d6409d8ee74e6 100644 --- a/docker-compose/README.txt +++ b/docker-compose/README.txt @@ -1,7 +1,7 @@ = Build+Run FoD+Freertr+Attack/VictimHosts docker-compose -defined in ./docker-compose.yml (or ./docker-compose-novol.yml) +defined in ./docker-compose-singlefodctr-vol.yml (or ./docker-compose-singlefodctr-novol.yml) in FoD main dir of git checkout: @@ -26,11 +26,11 @@ docker exec -ti freertr telnet 127.1 2323 docker exec -ti freertr sh -c '{ echo "show ipv4 bgp 1 flowspec database"; echo "show policy-map flowspec CORE ipv4"; echo exit; } | netcat 127.1 2323' -= docker compose definitions and dependencys: += docker compose definitions and dependencyies: -./docker-compose.yml (or ./docker-compose-novol.yml) - - ./docker-compose/.env_fod : various predefined important env variables used for FoD installation - - ./docker-compose/Dockerfile_FOD +./docker-compose-singlefodctr-vol.yml (or ./docker-compose-singlefodctr-novol.yml) + - ./docker-compose/.env_fod_singlectr : various predefined important env variables used for FoD installation + - ./docker-compose/Dockerfile_FOD (or ./docker-compose/Dockerfile_FOD-novol) - ./install-debian.sh : Debian/UBUNTU-specific FoD instalation and setup script - ./docker-compose/fod_setup_environment-step3.sh = in container: /opt/setup_environment.sh : on first run of container used for proper setup actions of FoD by ./install-debian.sh; needed because FoD dir is bind-mounted in container, and so these actions cannot be done priorly in container build - ./docker-compose/fod_supervisord.conf : docker-compose-specific supervisord config used for run control of FoD (=gunicorn+redis+celeryd) as well as exabgp (note: normal ./supervisord.conf.dist as well as the FoD start wrapper scripts ./runfod*.sh are not used in case of docker-compose) diff --git a/docker-compose/demo1.sh b/docker-compose/demo1.sh index 086b8d92199259acade156ad7d8a4eed8e465797..2c7519bc25fdcb166500397d6622a31ddec61860 100755 --- a/docker-compose/demo1.sh +++ b/docker-compose/demo1.sh @@ -11,8 +11,10 @@ if [ "$use_novol" = 1 ]; then docker_compose_spec__file="./docker-compose-singlefodctr-novol.yml" fod_container_name="fodnovol" else - docker_compose_spec__file="./docker-compose.yml" - fod_container_name="fod" + #docker_compose_spec__file="./docker-compose.yml" + #fod_container_name="fod" + docker_compose_spec__file="./docker-compose-singlefodctr-vol.yml" + fod_container_name="fodvol" fi ##