Publicado em: 20/4/2016
Se você leu meu artigo sobre como criar seu container em Go, pode ter pensado: “Criei o meu container, o que fazer agora? “.
Quando você está dentro de um time, trabalhando com um repositório git remoto em que todos têm acesso, não tem erro: todo mundo vai ter o mesmo Dockerfile na aplicação. Só rodar o Docker e pronto.!
Agora, imagina que surgiu um novo projeto pra trabalhar. Vai ficar copiando o Dockerfile? Vai fazer do zero correndo risco de esquecer algo? Vai carregar particularidades de um projeto para outro sem necessidade? A melhor maneira de resolver isso é subir a sua imagem default de trabalho no Docker Hub.
Então agora vamos aprender como subir nossa imagens…
Entre no site e crie uma conta. No cadastro você vai definir a sua Docker ID, que será seu identificador em cada repositório que criar. Assim, toda vez que você for usar a imagem será docker_id/nome_do_repositorio.
Assim que fizer o login, você será direcionado para a página que lista seus repositórios criados. Basta clicar em Create Repository e seguir os passos.
Esse passo foi o que fizemos no artigo “Como criar seu Docker Container para trabalhar com Go.
Após a imagem pronta, é preciso buildar a imagem. Para isso, rode o comando `docker build -t “docker_id:nome_do_repositorio” -f PATH/Dockerfile .` Se ocorrer alguma falha neste ponto, verifique, corrija no Dockerfile e rode o mesmo comando. Desta forma você vai rebuildar a imagem com a correção.
Obs.: Às vezes há dependências na imagem que precisam ser baixadas. Se o servidor remoto estiver com problemas, você terá um erro na hora de baixar a dependência e isso impedirá de buildar a imagem.
Esse login é feito pelo terminal. Basta digitar `docker login`. Será solicitado o docker_id e a senha. Estando tudo certo, você terá uma mensagem de sucesso.
Para bater a tag, você primeiro precisa descobrir a Image ID da sua imagem. Para isso, no terminal digite `docker images`. Esse comando irá listar todas as imagens que você tem na sua máquina. Na coluna do Repository, procure pelo docker_id/nome_do_repositorio.
Seguindo as colunas a direita você irá encontrar o Image ID. Com ele em mãos, use o comando `docker tag image_id docker_id/nome_do_repositorio:TAG`.
Esse TAG é literalmente a tag que vai identificar aquela imagem. Esse é meu repositório de imagens Ruby. Nele eu tenho as tags 2.5 (2.5.1), 2.5.3 e latest. Cada tag eu coloquei como sendo uma versão do Ruby, sendo que a latest é sempre a última atualizada. Caso você não queira colocar tag use `latest` como tag.
7. Faça o push
Para fazer o push, basta rodar `docker push docker_id/nome_do_repositorio`. Ele subirá todas as tags que você bateu local daquele repositório. Para bater uma tag específica, basta acrescentá-la no final do da mesma forma que você fez pra bater ela: `docker push docker_id/nome_do_repositorio:tag`.
Depois disso, sua imagem estará disponível no Docker Hub e também para uso em outros projetos, ou até em um CI/CD. Para usar, basta colocar no Dockerfile do seu projeto `FROM docker_id/nome_do_repositorio:tag`. Se você quiser baixar sempre a última, basta remover a tag `FROM docker_id/nome_do_repositorio`.
Nesse vídeo mostro o processo de subir uma imagem que criei para projetos usando Crystal.
Este artigo foi publicado originalmente no blog Devlooper