Files
2023-04-21 14:43:35 -04:00

119 lines
2.9 KiB
Makefile
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### DOCKER COMPOSE COMMANDS
.PHONY: compose-build
compose-build:
docker compose build
.PHONY: compose-up
compose-up:
docker compose up
.PHONY: compose-up-build
compose-up-build:
docker compose up --build
.PHONY: compose-down
compose-down:
docker compose down
### DOCKER CLI COMMANDS
DOCKERCONTEXT_DIR:=../05-example-web-application/
DOCKERFILE_DIR:=../06-building-container-images/
.PHONY: docker-build-all
docker-build-all:
docker build -t client-react-vite -f ${DOCKERFILE_DIR}/client-react/Dockerfile.3 ${DOCKERCONTEXT_DIR}/client-react/
docker build -t client-react-ngnix -f ${DOCKERFILE_DIR}/client-react/Dockerfile.5 ${DOCKERCONTEXT_DIR}/client-react/
docker build -t api-node -f ${DOCKERFILE_DIR}/api-node/Dockerfile.7 ${DOCKERCONTEXT_DIR}/api-node/
docker build -t api-golang -f ${DOCKERFILE_DIR}/api-golang/Dockerfile.6 ${DOCKERCONTEXT_DIR}/api-golang/
DATABASE_URL:=postgres://postgres:foobarbaz@db:5432/postgres
.PHONY: docker-run-all
docker-run-all:
echo "$$DOCKER_COMPOSE_NOTE"
# Stop and remove all running containers to avoid name conflicts
$(MAKE) docker-stop
$(MAKE) docker-rm
docker network create my-network
docker run -d \
--name db \
--network my-network \
-e POSTGRES_PASSWORD=foobarbaz \
-v pgdata:/var/lib/postgresql/data \
-p 5432:5432 \
--restart unless-stopped \
postgres:15.1-alpine
docker run -d \
--name api-node \
--network my-network \
-e DATABASE_URL=${DATABASE_URL} \
-p 3000:3000 \
--restart unless-stopped \
api-node
docker run -d \
--name api-golang \
--network my-network \
-e DATABASE_URL=${DATABASE_URL} \
-p 8080:8080 \
--restart unless-stopped \
api-golang
docker run -d \
--name client-react-vite \
--network my-network \
-v ${PWD}/client-react/vite.config.js:/usr/src/app/vite.config.js \
-p 5173:5173 \
--restart unless-stopped \
client-react-vite
docker run -d \
--name client-react-nginx \
--network my-network \
-p 80:8080 \
--restart unless-stopped \
client-react-ngnix
.PHONY: docker-stop
docker-stop:
-docker stop db
-docker stop api-node
-docker stop api-golang
-docker stop client-react-vite
-docker stop client-react-nginx
.PHONY: docker-rm
docker-rm:
-docker container rm db
-docker container rm api-node
-docker container rm api-golang
-docker container rm client-react-vite
-docker container rm client-react-nginx
-docker network rm my-network
define DOCKER_COMPOSE_NOTE
🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨
NOTE:
This command runs the example app with a bunch
of individual docker run commands. This is much
easier to manage with docker-compose (see
docker-compose.yml and compose make targets above)
🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨
endef
export DOCKER_COMPOSE_NOTE