安装/运行Gitlab

  1. docker run --detach \
  2. --hostname gitlab.mobikok.com \
  3. --publish 10443:443 --publish 10080:80 --publish 10022:22 \
  4. --name gitlab \
  5. --restart always \
  6. --volume /data/docker/gitlab/config:/etc/gitlab \
  7. --volume /data/docker/gitlab/logs:/var/log/gitlab \
  8. --volume /data/docker/gitlab/data:/var/opt/gitlab \
  9. gitlab/gitlab-ce:11.2.1-ce.0
  10. version: '2'
  11. services:
  12. gitlab:
  13. image: gitlab/gitlab-ce:latest
  14. container_name: gitlab
  15. hostname: gitlab.lazypg.com
  16. restart: always
  17. command: gitlab-ctl reconfigure
  18. ports:
  19. - "11443:443"
  20. - "11080:80"
  21. - "11025:22"
  22. volumes:
  23. - /home/docker/data/gitlab/config:/etc/gitlab
  24. - /home/docker/data/gitlab/logs:/var/log/gitlab
  25. - /home/docker/data/gitlab/data:/var/opt/gitlab

配置gitlab https

  1. 关停gitlab
    docker stop gitlab
  2. 修改external_url
    vi /srv/docker/gitlab/config/gitlab.rb
    external_url “https://gitlab.lazypg.com
  3. 启动gitlab
    docker start gitlab

    配置nginx代理

    upstream gitlab{
     server localhost:10445;
    }
    server {
     listen 443 ssl;
     server_name gitlab.lazypg.com;
     ssl on;
     root html;
     index index.html index.htm;
     ssl_certificate   /usr/local/nginx/cert/gitlab.pem;
     ssl_certificate_key  /usr/local/nginx/cert/gitlab.key;
     ssl_session_timeout 5m;
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
     ssl_prefer_server_ciphers on;
     location / {
         proxy_pass https://gitlab;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Forwarded-Proto $scheme;
         proxy_set_header X-Forwarded-Port $server_port;
     }
    }
    

    解决gitlab内存占用过多的问题

    gitlab建议如果您这台机器只使用与gitlab的话unicorn[‘worker_processes’] 这个默认是cpu核心数加一,所以开启的进程就会很多,我们只要把这个参数指定一下就好了,编辑配置文件

vim /srv/docker/gitlab/config/gitlab.rb
#去掉下面的注释
unicorn[‘worker_processes’] = 2
#之后执行
docker exec -it gitlab gitlab-ctl reconfigure
docker exec -it gitlab gitlab-ctl restart
如果访问不了,直接重启容器


参考
http://blog.51cto.com/8456082/2090423