IMAGE_NAME="alp-mdb" CONTAINER_NAME="inst1" LOG="/tmp/ptut.virtenv.log" LOCK="/tmp/ptut.virtenv.lock" image: build @echo -n "> Building image..............."; docker build --force-rm -t $(IMAGE_NAME) . && echo "done" || echo "error"; build: docker/main docker/include/* @echo -n "> Building file Dockerfile....."; @cpp -o Dockerfile docker/main && echo "done" || echo "error"; clean: @echo -n "> Stopping containers.........."; @docker stop $(CONTAINER_NAME); true; @docker rm -flv $(CONTAINER_NAME); true; @echo -n "> Deleting docker image........"; @docker rmi -f $(IMAGE_NAME) && echo "done" || echo "failed"; true @echo -n "> Deleting Dockerfile.........."; @rm Dockerfile && echo "done" || echo "failed"; true run: image @echo "> Launching the container"; docker run --name $(CONTAINER_NAME) $(IMAGE_NAME); kill: @docker exec -ti inst1 sh -c 'rm boot.lock'; boot: @echo -e "/!\\ 'make log' for real-time log\n"; @touch $(LOG); @while true; do \ echo "*** 1. Updating virtual environment" | tee -a $(LOG); \ git pull origin master >> $(LOG) 2>&1; true; \ echo "*** 2. Building image" | tee -a $(LOG); \ make image >> $(LOG) 2>&1; \ echo "*** 3. Launching container" | tee -a $(LOG); \ touch $(LOCK); \ docker run --name $(CONTAINER_NAME) $(IMAGE_NAME) >> $(LOG) 2>&1; \ echo "*** 4. Deleting container" | tee -a; \ docker stop $(CONTAINER_NAME) >> $(LOG) 2>&1; true; \ docker rm -flv $(CONTAINER_NAME) >> $(LOG) 2>&1; true; \ rm $(LOCK); \ sleep 2; \ done; log: @echo -n "> Checking log file......."; @test -f $(LOG) && echo "found" || (echo "missing"; exit 1); @echo -n "> Checking container......"; @test -f $(LOCK) && echo "running" || echo "not running"; @echo "====== LOG ======"; @tail -f $(LOG); tty: @echo -n "> Checking lock..........."; @test -f $(LOCK) && echo "found" || (echo "missing"; exit 1); @echo "> Connecting tty............."; @docker exec -ti $(CONTAINER_NAME) sh;