安装/运行Gitlab
docker run --detach \
--hostname gitlab.mobikok.com \
--publish 10443:443 --publish 10080:80 --publish 10022:22 \
--name gitlab \
--restart always \
--volume /data/docker/gitlab/config:/etc/gitlab \
--volume /data/docker/gitlab/logs:/var/log/gitlab \
--volume /data/docker/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:11.2.1-ce.0
version: '2'
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
hostname: gitlab.lazypg.com
restart: always
command: gitlab-ctl reconfigure
ports:
- "11443:443"
- "11080:80"
- "11025:22"
volumes:
- /home/docker/data/gitlab/config:/etc/gitlab
- /home/docker/data/gitlab/logs:/var/log/gitlab
- /home/docker/data/gitlab/data:/var/opt/gitlab
配置gitlab https
- 关停gitlab
docker stop gitlab - 修改external_url
vi /srv/docker/gitlab/config/gitlab.rb
external_url “https://gitlab.lazypg.com“ - 启动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
如果访问不了,直接重启容器