Atualizado em: 25 de julho de 2022
Na página https://docs.gitlab.com/ee/install/docker.html tem várias informações a cerca das imagens Docker oficiais do GitLab (ferramenta web para versionamento usando o Git).
Neste tutorial, o Gitlab será executado usando um único conteiner para fornecer todo o ambiente necessário para executá-lo, o que deixa a instalação bem simples e rapidamente você tem o serviço funcionando.
O GitLab requer um host com, pelo menos, 4 GB de memória RAM. A lista completa de requisitos de hardware e software está na página: https://docs.gitlab.com/ee/install/requirements.html#hardware-requirements.
Se você não sabe o que é Docker, recomendo começar lendo os links desta página. É um longo caminho, mas vale a pena conhecer essa tecnologia.
http://blog.aeciopires.com/palestra-transportando-as-aplicacoes-entre-varios-ambientes-com-docker/
http://blog.aeciopires.com/primeiros-passos-com-docker/
Também dou curso de Docker: http://blog.aeciopires.com/curso-docker
Abaixo tem o tutorial customizado para iniciar o conteiner GitLab persistindo os dados.
1) Crie o diretório de dados, log e configuração do GitLab.
sudo mkdir -p /docker/gitlab/config \
/docker/gitlab/logs \
/docker/gitlab/data;
2) Baixe a última versão da imagem docker do GitLab.
docker pull gitlab/gitlab-ce:latest
3) Inicie o conteiner docker do GitLab.
docker run -d --hostname gitlab.example.com \
-p 443:443 -p 80:80 -p 2022:22 \
--name gitlab \
--restart always \
-v /docker/gitlab/config:/etc/gitlab \
-v /docker/gitlab/logs/:/var/log/gitlab \
-v /docker/gitlab/data/:/var/opt/gitlab \
gitlab/gitlab-ce:latest
Altere o nome gitlab.example.com pelo nome DNS do conteiner adequado para a sua rede.
4) O log pode ser visualizado com os comandos abaixo.
docker logs -f gitlab
O serviço pode demorar até 5 minutos para ser iniciado e configurado da primeira vez. Ele estará pronto para ser acessado quando aparecer a mensagem abaixo no log.
Thank you for using GitLab Docker Image!
5) Acesse o GitLab na URL http://IP-Servidor (com HTTP). Será solicitado que crie informe o usuário root e a senha inicial criada durante a instalação.
Para obter a senha inicial do root, informe o seguinte comando:
docker exec -ti gitlab cat /etc/gitlab/initial_root_password
6) Se quiser parar o conteiner, é só executar o comando abaixo.
docker stop gitlab
7) Para iniciá-lo novamente, execute o comando abaixo.
docker start gitlab
Mais informações sobre o GitLab e como configurá-lo com suporte a HTTPS, acesse os links abaixo.
https://docs.gitlab.com/omnibus/docker/README.html
https://docs.gitlab.com/omnibus/README.html
https://docs.gitlab.com/omnibus/settings/nginx.html#enable-https
https://hub.docker.com/r/gitlab/gitlab-ce/
https://docs.gitlab.com/omnibus/docker/README.html#after-starting-a-container
https://www.tutorialspoint.com/gitlab/index.htm
Lembrando que os dados do banco, repositórios de código, configurações e logs são persistidos no diretório /docker/gitlab do Docker Host no qual o conteiner está sendo executado.
Aecio, boa tarde. Eu criei o container e um volume para backups (/var/opt/gitlab/backups/) so que quando tento restaurar o backup ele da falta de espaço em disco. Como posso almentar o disco no container?
Obrigado
Bom dia, Clécio!
Se entendi bem você criou um diretório no seu Docker Host (exemplo: /opt/docker/gitlab/backup) e montou um volume no conteiner com destino ao diretório de backup da aplicação (/var/opt/gitlab/backups). Correto?
Se a aplicação está reclamando de espaço em disco no diretório /var/opt/gitlab/backups, você não aumenta o tamanho do disco no conteiner. Você aumenta o tamanho do disco no Docker Host no qual está localizado o diretório /opt/docker/gitlab/backup, entendeu?
O volume é como se fosse um link que aponta para o diretório no Docker Host.
Abraço.
Não consegui logar…
Pede usuário e senha, não pareceu opção de criar senha para root.
para saber a senha inicial do usuário root, execute os passos abaixo no seu terminal:
docker exec -ti seu_nome_container_gitlab /bin/bash
cat /etc/gitlab/initial_root_password
Lembrando, o usuário inicial é root, e a senha é a do resultado co comando cat acima.
Bom dia, Marcelo!
Muito obrigado pela dica. Realmente, a instalação do gitlab mudou bastante desde a última vez que instalei no ano passado.
Eu atualizei o tutorial.
Abraço e boa semana.
ola. muito bom tutorial.
COmo seria p atualizar quando a imagem do docker for atualizada no dockerhub?
obg
Olá, Rafael!
Você teria que olhar o changelog/notas da release de cada versão do Gitlab para ver se mudou alguma configuração a cada versão. Nem sempre é só trocar a tag da imagem Docker.
Mas em linhas gerais, o procedimento seria parar e remover o conteiner atual e repetir o tutorial usando a imagem nova.
Novamente, tem que ficar de olho no changelog/notas da release porque o procedimento/configuração pode ser diferente para cada versão.