使用容器搭建自己的gitlab 首先,下载镜像: ``` docker pull gitlab/gitlab-ce:latest ``` 启动镜像,注意先建立/home/gitlab,免得容器销毁数据全无。 还要注意,因为git使用22号端口,这里映射的是1222端口。所以,只能使用http方式来进行项目的clone和操作。 ``` docker run \ --hostname git.superpig.win \ --publish 1443:443 --publish 1880:80 --publish 1222:22 \ --name gitlab \ --volume /home/gitlab/config:/etc/gitlab \ --volume /home/gitlab/logs:/var/log/gitlab \ --volume /home/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce ``` 漫长的等待,可以先配下nginx,注意要先[申请好证书](https://www.superpig.win/blog/details/ruakrajg "申请好证书"),证书默认会在/etc/letsencrypt/live/git.superpig.win/fullchain.pem 。而且,域名商那边也要设置git.superpig.win的A记录。 ``` server { listen 80; server_tokens off; # access_log /var/log/nginx/web2.access.log main; server_name git.superpig.win; location ^~ / { rewrite ^ https://$server_name:443$request_uri? permanent; } } server{ listen 443 ssl; server_name git.superpig.win; gzip on; gzip_proxied any; gzip_min_length 1024; gzip_comp_level 3; gzip_types text/plain text/javascript text/css text/json application/javascript application/json image/jpeg image/gif image/png; ssl on; ssl_certificate /etc/letsencrypt/live/git.superpig.win/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/git.superpig.win/privkey.pem; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:1880; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; } } ``` 此时,重启nginx,然后键入` https://git.superpig.win`,如果没有问题,会出现一个让你设置密码的网页,设置密码后,用 root:pwd 登录,进入项目,该怎么玩就怎么玩。 恭喜,你已经有自己的gitlab了。 来自 大脸猫 写于 2018-12-16 18:37 -- 更新于2020-10-19 13:06 -- 1 条评论