Docker搭建GitLab
官方中文教程:https://www.gitlab.com.cn/ins...
官方安装链接:https://about.gitlab.com/install
普通方式安装请见:https://segmentfault.com/a/11...
官方安装链接:https://about.gitlab.com/install
普通方式安装请见:https://segmentfault.com/a/11...
环境要求:内存至少4G,GitLab是很耗内存滴
一、安装
一般会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级
docker pull gitlab/gitlab-ce:11.6.4-ce.0 # 通过docker run中加入环境变量,取名为gitlab docker run --detach \ # 后台运行 -d # --hostname song.local \ # 指定容器域名,未知功能:创建镜像仓库的时候使用到 -p 8443:443 \ # 将容器内443端口映射到主机8443,提供https服务 -p 80:80 \ # 将容器内80端口映射到主机8080,提供http服务 -p 10022:22 \ # 将容器内22端口映射到主机1002,提供ssh服务 --name gitlab \ # 指定容器名称 --restart=unless-stopped \ # 容器运行中退出时(不是手动退出),自动重启 --volume /var/lib/docker/volumes/gitlab-data/etc:/etc/gitlab \ # 将本地/var/lib/docker/volumes/gitlab-data/etc挂载到容器内/etc/gitlab --volume /var/lib/docker/volumes/gitlab-data/log:/var/log/gitlab \ # 将本地将本地/var/lib/docker/volumes/gitlab-data/log挂载到容器内/var/log/gitlab --volume /var/lib/docker/volumes/gitlab-data/data:/var/opt/gitlab \ # 将本地将本地/var/lib/docker/volumes/gitlab-data/data挂载到容器内/var/opt/gitlab gitlab/gitlab-ce:11.6.4-ce.0 # 镜像名称:版本为了方便日后启动,创建一个启动脚本:
gitlab-docker-restart.sh
,代码如下:#!/bin/bash serverName="gitlab" imageName="gitlab/gitlab-ce:11.6.4-ce.0" function runServer(){ docker run --detach \ -p 8443:443 \ -p 80:80 \ -p 10022:22 \ --name ${serverName} \ --volume /var/lib/docker/volumes/gitlab-data/etc:/etc/gitlab \ --volume /var/lib/docker/volumes/gitlab-data/log:/var/log/gitlab \ --volume /var/lib/docker/volumes/gitlab-data/data:/var/opt/gitlab \ -v /etc/localtime:/etc/localtime \ --restart=unless-stopped \ ${imageName} } runningCount=`docker ps -f status=running -f status=restarting | grep -w ${serverName} |wc -l`; if [[ ${runningCount} > 0 ]];then echo "docker restart 重启项目:${serverName}" docker restart ${serverName} exit 0 fi serverCount=`docker ps -f status=exited -f status=created | grep -w ${serverName} |wc -l`; # 判断是否已经启动过,且端口为默认端口 if [[ ${serverCount} > 0 ]];then if [[ ${serverCount} > 1 ]]; then echo "Error : 查找到多个 ${serverName} 容器,请手动启动" exit 1 else echo "docker start 启动项目:${serverName}" docker start ${serverName} fi else name=${imageName%%:*} tag=${imageName##*:} # 判断是否有该镜像 imageCount=`docker images | grep -w ${name} | wc -l`; if [[ ${imageCount} > 0 ]];then echo "docker run 第一次启动项目: ${imageName}" runServer else echo "Error : 还没有该镜像" exit 1 fi fi
将 gitlab-docker-restart.sh
赋予执行权限:
chmod +x gitlab-docker-restart.sh
之后直接执行 gitlab-docker-restart.sh
即可完成gitlab的重启。
二、配置
# 修改gitlab.rb配置文件 $ vim /var/lib/docker/volumes/gitlab-data/etc/gitlab.rb # 编辑gitlab.rb文件 ## GitLab NGINX nginx['listen_port'] = 80 # gitlab nginx 端口。默认端口为:80 ## GitLab Unicorn unicorn['listen'] = 'localhost' unicorn['port'] = 8080 #默认是8080端口 ## GitLab URL 配置http协议所使用的访问地址 external_url 'http://song.local' # clone时显示的地址,gitlab 的域名 # 配置ssh协议所使用的访问地址和端口 gitlab_rails['gitlab_ssh_host'] = 'song.local' gitlab_rails['gitlab_shell_ssh_port'] = 10022
# 退出容器后,重启容器 docker restart gitlab
假如你将gitlab配置文件已经挂载到外部存储路径下,只要在相应目录(如这里的/srv/gitlab/config)下修改gitlab.rb文件,并重启容器就可。
将容器时间和host在一个时区
-v /etc/localtime:/etc/localtime
三、访问
访问 http://127.0.0.1:80
,系统默认的管理员账号为 root,第一次访问 GitLab,会要求初始化管理员账号的密码。
相关推荐
cxin 2020-11-06
synshitou 2020-10-21
Topbeyond 2020-08-21
happyfreeangel 2020-07-27
白开水 2020-07-19
无风的雨 2020-07-08
贤时间 2020-07-06
wishli 2020-06-28
小信 2020-06-21
leehbhs 2020-06-20
happyfreeangel 2020-06-18
83284950 2020-06-17
冯冯领队 2020-06-16
就是那个胖子 2020-06-14
83284950 2020-06-14
LiHansiyuan 2020-06-14
fcds00 2020-06-11
就是那个胖子 2020-06-11