106 lines
2.2 KiB
Makefile
106 lines
2.2 KiB
Makefile
|
|
GRAY = "\e[0;30m"
|
|
RED = "\e[0;31m"
|
|
GREEN = "\e[0;32m"
|
|
YELLOW = "\e[0;33m"
|
|
BLUE = "\e[0;34m"
|
|
PURPLE = "\e[0;35m"
|
|
CYAN = "\e[0;36m"
|
|
WHITE = "\e[0;37m"
|
|
|
|
B_GRAY = "\e[1;30m"
|
|
B_RED = "\e[1;31m"
|
|
B_GREEN = "\e[1;32m"
|
|
B_YELLOW = "\e[1;33m"
|
|
B_BLUE = "\e[1;34m"
|
|
B_PURPLE = "\e[1;35m"
|
|
B_CYAN = "\e[1;36m"
|
|
B_WHITE = "\e[1;37m"
|
|
|
|
RESET = "\e[0m"
|
|
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
|
|
|
|
COMPOSE = ./srcs/docker-compose.yml
|
|
|
|
IMAGES = test \
|
|
nginx
|
|
|
|
HOME_D = $(shell echo $(HOME))
|
|
|
|
VOLUMES_D = $(VOLUMES:%=$(HOME_D)/%)
|
|
VOLUMES = v_wp_site \
|
|
v_wp_db
|
|
|
|
CONTAINERS = $(IMAGES:%=my%)
|
|
|
|
|
|
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
|
|
|
|
all: build $(VOLUMES_D) up
|
|
|
|
$(VOLUMES_D):
|
|
mkdir -p $(VOLUMES_D)
|
|
|
|
build:
|
|
sudo docker-compose -f $(COMPOSE) build
|
|
|
|
up: $(VOLUMES_D)
|
|
sudo docker-compose -f $(COMPOSE) up -d
|
|
|
|
# list images, containers, volumes
|
|
list:
|
|
@echo $(B_YELLOW)"\nimages:"$(RESET)
|
|
@sudo docker images -a
|
|
@echo $(B_YELLOW)"\ncontainers:"$(RESET)
|
|
@sudo docker ps -a
|
|
@echo $(B_YELLOW)"\nvolumes:"$(RESET)
|
|
@sudo docker volume ls
|
|
@echo ""
|
|
|
|
# remove project images
|
|
rm-images:
|
|
sudo docker image rm -f $(IMAGES)
|
|
|
|
# stop project containers
|
|
stop:
|
|
- sudo docker stop $(CONTAINERS)
|
|
|
|
# remove project containers
|
|
rm-containers: stop
|
|
- sudo docker rm $(CONTAINERS)
|
|
|
|
# close nginx
|
|
close-nginx:
|
|
- sudo nginx -s quit
|
|
|
|
# remove project images and containers
|
|
clean: stop rm-containers close-nginx
|
|
|
|
# remove project volumes
|
|
rm-volumes:
|
|
- sudo docker volume rm -f $(VOLUMES)
|
|
/bin/rm -rf $(VOLUMES_D)
|
|
|
|
# remove project
|
|
fclean: rm-images clean rm-volumes
|
|
|
|
# remove all containers and related files that are not runnings
|
|
prune:
|
|
sudo docker system prune -af --volumes
|
|
/bin/rm -rf $(VOLUMES_D)
|
|
|
|
# remove all containers and related files
|
|
fprune:
|
|
sudo docker stop $(sudo docker ps -q)
|
|
sudo docker system prune -af --volumes
|
|
/bin/rm -rf $(VOLUMES_D)
|
|
|
|
re: fclean all
|
|
|
|
.PHONY : all build up $(VOLUMES_D) list rm-images stop rm-containers close-nginx clean rm-volumes fclean prune fprune re
|
|
|