• 欢迎访问赵煮机网,有问题可留言或电报

Docker快速部署GitLab搭建私人仓库

折腾笔记 赵煮机 11个月前 (11-27) 1092次浏览 0个评论
文章目录[隐藏]

黑五抢了个 Virmach 的大内存机器,终于可以折腾下超级吃内存的 GitLab。GitLab 的安装方式有好几种,个人比较建议用 Docker,部署快速,而且不容易影响机器本身安装好的服务。

Docker 安装

CentOS 7

直接通过 yum 安装即可:

 yum -y install docker-io

成功安装后,就能开启 Docker 服务:

service docker start

设置 Docker 开机自启动:

systemctl enable docker

Ubuntu

跟 CentOS 类似,安装也非常方便):

#获取源最新的包
sudo apt-get update
#安装
sudo apt install docker.io

安装完成后,启动 Docker 服务并使其每次在系统启动时启动:

systemctl start docker
systemctl enable docker

下载镜像

一句命令即可:

docker pull gitlab/gitlab-ce:latest

创建容器

镜像官方文档在https://docs.gitlab.com/omnibus/docker,有比较详细的说明。这里简单介绍一下:

以一个简单的例子示范如何创建容器。这里使用默认的 SSH、HTTP 和 HTTPS 端口,设定可通过 git.zhaozhuji.net 域名访问 GitLab,并把容器的数据保存在/gitlab路径中:

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

创建成功后,就可以通过域名打开 GitLab。首次访问需要重新设定密码。如果不想使用域名,把--hostname git.zhaozhuji.net \一行去掉就行。

如果想使用其它端口,比如把 GitLab 的 SSH 端口改为 888,则在--publish 机器端口:容器端口中修改即可:

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

注意,如果要更改默认端口,同样需要修改配置文件gitlab.rb

打开运行的容器中的配置文件:

sudo docker exec -it gitlab vi /etc/gitlab/gitlab.rb

配置文件中有各个配置的说明。如果需要修改相应项目,需要去掉注释(行开头的#号)再修改,或者直接参照说明在配置文件中写入新的。以修改端口为例,在配置文件中找到gitlab_rails['gitlab_shell_ssh_port']一项,去掉开题的#,并把端口改为新的端口(也可以直接在配置文件中加入下面一行):

gitlab_rails['gitlab_shell_ssh_port'] = 888

保存配置文件后,重启容器:

sudo docker restart gitlab

使用 SSL

待补充,可参考:
https://docs.gitlab.com/omnibus/settings/nginx.html#enable-https

https://my.oschina.net/iluckyboy/blog/690286

https://www.jianshu.com/p/aa307ee95442

配置使用外部 nginx

待补充,可参考 https://www.centos.bz/2017/07/docker-install-gitlab-external-nginx/

如果要禁止通过 ip 的方式访问,只允许域名访问 GitLab,可在 nginx 配置文件中加入:

server {
  listen *:80;
  listen *:443;
  server_name _;
  server_tokens off;
  deny all;
  access_log  off;
  error_log   /var/log/gitlab/nginx/gitlab_error.log;  # 错误日志的存放路径自己设定
}

配置邮箱

待补充,可参考 https://medium.com/@CoderAFI/docker-gitlab-3fa06d6ec0b5


版权声明: 如未注明转载 , 均为本站原创文章
本网站采用BY-NC-SA协议进行授权
转载前请联系,并注明原文链接:Docker 快速部署 GitLab 搭建私人仓库
喜欢 (1)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址