Giter Club home page Giter Club logo

fclx-docker-and-go-challenge-01's Introduction

Docker e GO

Fase 01

Informações do desafio

Esse desafio é muito empolgante principalmente se você nunca trabalhou com a linguagem Go!

Você terá que publicar uma imagem no docker hub. Quando executarmos:

docker run <seu-user>/fullcycle

Temos que ter o seguinte resultado: Full Cycle Rocks!!

Se você perceber, essa imagem apenas realiza um print da mensagem como resultado final, logo, vale a pena dar uma conferida no próprio site da Go Lang para aprender como fazer um "olá mundo".

Lembrando que a Go Lang possui imagens oficiais prontas, vale a pena consultar o Docker Hub.

  1. A imagem de nosso projeto Go precisa ter menos de 2MB =)
  2. Suba o projeto em um repositório Git remoto e coloque o link da imagem que subiu no Docker Hub.
  3. Compartilhe o link do repositório do Git remoto para corrigirmos seu projeto.

Divirta-se!

Notas sobre o desafio

Criando a imagem apartir do arquivo Dockerfile e rodando para testar;

docker build -t fullcycle .

docker run fullcycle

Determinando um tag local para subir para o Docker hub;

docker tag fullcycle davidrogger/fullcycle
docker push davidrogger/fullcycle

Sobre Dockerfile

Pesquisando para atingir o tamanho mínimo necessário de 2mb, descobri(nunca estudei sobre go, comecei alguns dias, mas não muito afundo) que uma das grandes vantagens do Go é a possibilidade de compilação e usarmos o binário que ele gera seria a melhor abordagem para atingir esse valor de 2mb gerando a imagem do Docker, então pesquisei um pouco sobre, e encontrei um tutorial no youtube, sobre como gerar uma imagem com menor custo, no canal do devtopics, usando a imagem scratch do docker.

Para gerar o arquivo bin foi usado o parametro;

CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o bin .

RESPOSITÓRIO DOCKER HUB

fclx-docker-and-go-challenge-01's People

Contributors

davidrogger avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.