Criando uma imagem para programar em GoLang

Para construir uma imagem para um código em Golang você pode utilizar como referência esse repositório do github https://github.com/Anselming/nginx-complete/tree/main/mainline/withgolang. Nele faço um conjunto de estudos sobre o uso do docker, otimização de imagens e afins. Note que a solução em go possui a estrutura a seguir:

  • /app (pasta com os códigos escritos em go
  • .dockerignore (arquivo semelhante ao gitignore)
  • dockerfile (arquivo de base para criação da imagem)
  • README.md (arquivo de read-me para o git)

Arquivo anselme.go (apenas um hello world em go)

package main

import "fmt"

func main(){
	fmt.Println("Hello Anselme")
}

Arquivo .dockerignore

passphrase.txt
logs/
.git
*.md
.cache
dockerfile

Arquivo dockerfile

FROM alpine:latest AS stage1

WORKDIR /app
COPY    /app .

RUN apk add --no-cache go
RUN go build app.go

FROM scratch AS stage2 # essa imagem pesa < 2 MB
WORKDIR /app
COPY --from=stage1 /app .
CMD ["./app"]

Para criar a imagem e o container basta usar a linha de comando

docker build -t imagemgo .

docker run imagemgo

Thiago Anselme
Thiago Anselme - Gerente de TI - Arquiteto de Soluções

Ele atua/atuou como Dev Full Stack C# .NET / Angular / Kubernetes e afins. Ele possui certificações Microsoft MCTS (6x), MCPD em Web, ITIL v3 e CKAD (Kubernetes) . Thiago é apaixonado por tecnologia, entusiasta de TI desde a infância bem como amante de aprendizado contínuo.

Deixe um comentário