3
respostas

GitLab no Docker

Pessoal, uma dúvida.... estou numa máquina windows 10 com 8GB de RAM, e com o docker instalado. Fui no docker store e fiz um pull de: docker pull store/gitlab/gitlab-ce:10.2.4-ce.0. Ele baixou bastante coisa.

Após concluir o download, executei o comando: docker run gitlab/gitlab-ce, tudo isso no CMD.

Ele ficou mais de 30 mionitos. e sempre executando logs e não sai disso:

==> /var/log/gitlab/gitlab-rails/production_json.log <==
{"method":"GET","path":"/-/metrics","format":"html","controller":"MetricsController","action":"index","status":200,"duration":4.59,"view":0.58,"db":0.
0,"time":"2018-02-22T16:53:12.218Z","params":{},"remote_ip":null,"user_id":null,"username":null}

==> /var/log/gitlab/gitlab-monitor/current <==
2018-02-22_16:53:19.12614 127.0.0.1 - - [22/Feb/2018:16:53:19 UTC] "GET /sidekiq HTTP/1.1" 200 11122
2018-02-22_16:53:19.12624 - -> /sidekiq
2018-02-22_16:53:21.02713 127.0.0.1 - - [22/Feb/2018:16:53:20 UTC] "GET /database HTTP/1.1" 200 53344
2018-02-22_16:53:21.02716 - -> /database
2018-02-22_16:53:23.31400 127.0.0.1 - - [22/Feb/2018:16:53:23 UTC] "GET /process HTTP/1.1" 200 1126
2018-02-22_16:53:23.31402 - -> /process

==> /var/log/gitlab/gitlab-rails/production.log <==
Started GET "/-/metrics" for 127.0.0.1 at 2018-02-22 16:53:27 +0000
Processing by MetricsController#index as HTML
Completed 200 OK in 2ms (Views: 0.6ms | ActiveRecord: 0.0ms)

==> /var/log/gitlab/gitlab-rails/production_json.log <==
{"method":"GET","path":"/-/metrics","format":"html","controller":"MetricsController","action":"index","status":200,"duration":5.58,"view":0.62,"db":0.
0,"time":"2018-02-22T16:53:27.227Z","params":{},"remote_ip":null,"user_id":null,"username":null}

==> /var/log/gitlab/gitlab-monitor/current <==
2018-02-22_16:53:34.12877 127.0.0.1 - - [22/Feb/2018:16:53:34 UTC] "GET /sidekiq HTTP/1.1" 200 11122
2018-02-22_16:53:34.12880 - -> /sidekiq
2018-02-22_16:53:36.02987 127.0.0.1 - - [22/Feb/2018:16:53:35 UTC] "GET /database HTTP/1.1" 200 53344
2018-02-22_16:53:36.03006 - -> /database
2018-02-22_16:53:38.30891 127.0.0.1 - - [22/Feb/2018:16:53:38 UTC] "GET /process HTTP/1.1" 200 1126
2018-02-22_16:53:38.30893 - -> /process

==> /var/log/gitlab/gitlab-rails/production.log <==
Started GET "/-/metrics" for 127.0.0.1 at 2018-02-22 16:53:42 +0000
Processing by MetricsController#index as HTML
Completed 200 OK in 5ms (Views: 1.1ms | ActiveRecord: 0.0ms)

==> /var/log/gitlab/gitlab-rails/production_json.log <==
{"method":"GET","path":"/-/metrics","format":"html","controller":"MetricsController","action":"index","status":200,"duration":8.19,"view":1.08,"db":0.
0,"time":"2018-02-22T16:53:42.217Z","params":{},"remote_ip":null,"user_id":null,"username":null}

Com eu posso encontrar o IP ou o que posso ter feito de errado? ou está num looping eterno devido álguma limitação?

Eu vi tambémm que poderia rodar a imagem agravés do comando abaixo, mas por serum comando típico para linux, ignorei...

sudo docker run --detach \
    --hostname gitlab.example.com \
    --publish 443:443 --publish 80:80 --publish 22:22 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

Obrigado!

3 respostas

Pessoal, executei o comando abaixo para trazer o IP do container, mas mesmo assim não consigo abrir a o GitLab no browser.

docker container inspect --format='{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' Gitlab_CI

Se executo o comando para ver o status, retorna que está de pé (healthy), mas não consigo acessar com o IP recido nodo passo anterior.

CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS                   PORTS                     NAMES
e36638d64857        gitlab/gitlab-ce:latest   "/assets/wrapper"   9 minutes ago       Up 9 minutes (healthy)   22/tcp, 80/tcp, 443/tcp   eloquent_shan
non

C:\Users\mdantasf>docker container inspect --format='{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' e36638d64857
'172.17.0.2'

Boa noite Márcio,

De fato terá que usar parte do comando que você suspeitava. Adicione o parâmetro abaixo no seu comando de docker run para que as portas do container sejam mapeadas para fora do container.

    --publish 443:443 --publish 80:80 --publish 22:22

Obrigado pela dica... agora foi. E funcionu. Reclamou da porta 443 que já estava em uso... e de fato dando um setstat ela estava em uso por algum programa aqui da empresa. mas deixei com 4443:443 e foi de boa. Obrigado pela dica.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software