Docker compose

This commit is contained in:
Eden Kirin
2024-01-13 20:17:27 +01:00
parent 59252abafb
commit d698a6a0aa
4 changed files with 78 additions and 0 deletions

3
machines/.dockerignore Normal file
View File

@ -0,0 +1,3 @@
**/build
**/tmp
**/.env*

20
machines/Dockerfile Normal file
View File

@ -0,0 +1,20 @@
# stage 2: build golang backend
FROM golang:1.21-alpine3.19 as go-builder
WORKDIR /go-builder
COPY . .
RUN \
go mod download && \
go mod verify && \
go build -v -ldflags "-s -w" -o machines-app ./app/main.go
# stage 2: build final container
FROM alpine:3.19
USER $USER
WORKDIR /app
COPY --from=go-builder /go-builder/machines-app /app
ENTRYPOINT ["/app/machines-app"]

View File

@ -2,13 +2,38 @@ EXEC=machines-app
CONTAINER_NAME=machines-app
IMAGE_NAME=komponiranje-machines-app
run:
@air
.PHONY: build
build:
@go build -ldflags "-s -w" -o ./build/${EXEC} ./app/.
upgrade-packages:
@go get -u ./...
docker-build: clean
@docker build \
--progress=plain \
--tag $(IMAGE_NAME) \
.
docker-run:
@docker run \
--name $(CONTAINER_NAME) \
--publish 3000:3000 \
--env CONTAINER_NAME="Awesome API server" \
--env DBPORT=55432 \
--detach \
$(IMAGE_NAME)
clean:
- @docker stop $(CONTAINER_NAME)
- @docker rm $(CONTAINER_NAME)
- @docker rmi $(IMAGE_NAME)