Skip to content

Instantly share code, notes, and snippets.

@swcho
Created September 10, 2019 02:44
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save swcho/4964f432155cecab0a5f4e2f971d867d to your computer and use it in GitHub Desktop.
Save swcho/4964f432155cecab0a5f4e2f971d867d to your computer and use it in GitHub Desktop.
Makefile For Docker Build
ifndef NAME
$(error NAME is not set)
endif
ifndef PORT
$(error PORT is not set)
endif
ifndef CONTEXT
$(error CONTEXT is not set)
endif
REGISTRY_HOST=[put registry host here]
REGISTRY_NAMESPACE=[put namepace here]
IMAGE_NAME=$(REGISTRY_HOST)/$(REGISTRY_NAMESPACE)/$(NAME)
ARGS=--name=$(NAME) -p $(PORT):$(PORT) ${ENV} ${VOLUME} $(IMAGE_NAME)
BUILD_ARGS=-f Dockerfile -t
docker.login:
docker login $(REGISTRY_HOST)
docker.build:
docker build $(BUILD_ARGS) $(IMAGE_NAME) ${CONTEXT}
docker.build.force:
docker build --no-cache $(BUILD_ARGS) $(IMAGE_NAME) ${CONTEXT}
docker.push:
docker push $(IMAGE_NAME)
docker.rm:
-docker rm -f $(NAME)
docker.stop:
-docker stop $(NAME)
docker.run: docker.rm
docker run --rm $(ARGS)
docker.test: docker.build
docker run -it --rm $(ARGS) bash
docker.test_root:
docker run -it --rm --user=root $(ARGS) bash
docker.exec:
docker exec -it $(NAME) bash
NAME=your-image
PORT=8888
CONTEXT=.
include common.mk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment