DEV Community

Ayrton
Ayrton

Posted on

Best Makefile for Docker project (M1 Compatible)

Hi !

Here is the best Makefile ever,

It's now easy to use Registry Gitlab to push your docker images and use repo name as image name.

REGISTRY_ID=$(shell grep gitlab.com .git/config|sed 's/url = https:\/\//registry./g'|sed -e "s/\.git$$//g"|xargs)
TAG=$(shell git symbolic-ref --short -q HEAD|sed -e 's/master$$/latest/g'|sed 's/\([a-zA-Z]*\)\//\1-/g')

build:
    docker build -t $(REGISTRY_ID):$(TAG) .

run: build
    docker run --rm $(REGISTRY_ID):$(TAG) 

dev:
    docker run --rm $(REGISTRY_ID):$(TAG) 

push:
    docker push $(REGISTRY_ID):$(TAG)

pushm1:
    docker buildx build --platform linux/amd64 --push -t $(REGISTRY_ID):$(TAG) .

buildm1:
    docker buildx build --platform linux/amd64 -t $(REGISTRY_ID):$(TAG) .
Enter fullscreen mode Exit fullscreen mode

Realy easy to use:

Build images
make build

Push images
make push

Run images
make run

Test images
make dev`

For Mac M1 Chip, to use for build AMD64 images

Build for amd64 when your use macbook m1
make buildm1

Push for amd64
make pushm1

Top comments (0)