61 lines
1.9 KiB
Makefile
61 lines
1.9 KiB
Makefile
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;
|