-
Notifications
You must be signed in to change notification settings - Fork 3
dev Docker container startup scripts
Sam edited this page Jun 13, 2023
·
28 revisions
From git repo root, create aw_base
for most of the containers
docker build -t aw_base -f .\Dockerfile .
Create a volume vol1
via docker volume create vol1
Then populate it by connecting to it, and git cloning the repo into it
docker run -w /home/app/mapf-multiagent-robot-planning/dev -d -it --name aw_dev --mount source=vol1,destination=/home/app aw_base
Mounting local windows git directory into vol1:
docker run -w /home/app/mapf-multiagent-robot-planning/dev -d -it --name aw_dev --mount source=vol1,destination=/home/app -v C:\Users\sam\Documents\GitHub\mapf-multiagent-robot-planning:/home/app/mapf-multiagent-robot-planning aw_base
Inside the aw_dev
container run
apk add git
cd /home/app
git clone <this repo>
docker cp .\world.db aw_dev:/home/app
docker cp .\orders.db aw_dev:/home/app
At this point docker compose should work
Use docker compose up -d
to start up all containers
docker network create aw-net
docker run -w /home/app/mapf-multiagent-robot-planning/dev --net aw-net -e REDIS_HOST="aw_redis" -d -it --name aw_world_sim --mount source=vol1,destination=/home/app --log-driver=gcplogs aw_base:latest python -m world_sim
docker run -w /home/app/mapf-multiagent-robot-planning/dev --net aw-net -e REDIS_HOST="aw_redis" -d -it --name aw_order_processor --mount source=vol1,destination=/home/app --log-driver=gcplogs aw_base python -m inventory_management_system.order_processor
docker run -w /home/app/mapf-multiagent-robot-planning/dev --net aw-net -e REDIS_HOST="aw_redis" -d -it --name aw_robot_allocator --mount source=vol1,destination=/home/app --log-driver=gcplogs aw_base python -m robot_allocator
docker run -w /home/app/mapf-multiagent-robot-planning/dev -p 3000:3000 --net aw-net -e REDIS_HOST="aw_redis" -d -it --name aw_web_node --mount source=vol1,destination=/home/app --log-driver=gcplogs node:alpine /bin/sh -c "npm --prefix ./env_visualizer install && node env_visualizer/"
docker run -w /home/app/mapf-multiagent-robot-planning/dev --net aw-net -e REDIS_HOST="aw_redis" -d --rm --name aw_fake_order_send --mount source=vol1,destination=/home/app --log-driver=gcplogs aw_base python -m inventory_management_system.fake_order_sender -n 10 -d 1
docker run -w /home/app/mapf-multiagent-robot-planning/dev --net aw-net -d -it --name aw_dev --mount source=vol1,destination=/home/app aw_base
Running redis
docker run -d --net aw-net -p 6379:6379 --name aw_redis redis
docker run -w /home/app/mapf-multiagent-robot-planning/dev --net aw-net -p 5000:5000 -d -it --name aw_web_flask --mount source=vol1,destination=/home/app aw_base flask --app inventory_management_system.order_tracking_web_server run --host=0.0.0.0