Dockerizando o GoLang
Recentemente eu escrevi um artigo demonstrando como podemos criar uma API utilizando a linguagem de programação GoLang, mas pensando no cenário que estamos vivendo, onde muitas empresas estão adotando o Docker, não seria legal subirmos a nossa aplicação em um contêiner ?
Pensando nisso, vejamos um passo a passo de como podemos criar uma imagem partindo da API que nos criamos no artigo mencionado a cima. Caso você queria baixar o projeto que iremos utilizar nesse artigo, segue o seu link no GitHub.
Com o projeto clonado, abra ele em uma IDE de sua preferencia, em seguida crie um arquivo chamado Dockerfile na raiz do seu projeto e atualize ele com o código abaixo:
Vamos entender os passos acima:
- FROM: imagem que iremos utilizar.
- RUN go get: estamos baixando o pacote mux para a nossa imagem.
- ENTRYPOINT: estamos executando o build do nosso projeto.
- EXPOSE: expondo a porta que o nosso contêiner ira utilizar.
Agora para que possamos criar a nossa imagem, execute o comando a baixo no seu terminal dentro do diretório que você criou o seu arquivo Dockerfile.
docker build -t golangapi .
O comando a cima irá baixar a imagem golang que definimos no FROM do nosso arquivo Dockerfile e seguir os passos que passamos a cima.
Para que possamos verificar se a nossa imagem foi criada corretamente, execute o comando docker images, esse comando irá listar todas imagens que nós temos no nosso host.
Agora para que possamos criar o nosso contêiner a partir da imagem que nos acabamos de criar, devemos executar o comando a baixo passando a porta que ele ira utilizar no nosso host e a que a gente liberou no nosso contêiner:
docker run -p 3030:3000 golangapi
Abra o endereço http://127.0.0.1:3030/ no seu navegador para que possamos ver a nossa API sendo executada de dentro no nosso contêiner. Podemos ver o seu retorno abaixo:
[
{
Name: "Heisenberg"
},
{
Name: "Pinkman"
}
]
Agora para que possamos testar o cadastro, nós iremos utilizar o
Postman, ferramenta gratuita que nós auxilia nos testes a requisições HTTP. Com ele aberto preencha os campos conforme está na imagem abaixo e clique em enviar.
Por fim, volte no seu método GET e perceba que o Gus Fring está no nosso retorno agora.