通过docker搭建gitlab

通过docker搭建gitlab

一、安装

拉取docker镜像
docker pull gitlab/gitlab-ce
启动容器
docker run -d  -p 4443:443 -p 8080:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

命令解释

docker run 
-d                #后台运行,全称:detach
-p 8443:443      #将容器内部端口向外映射
-p 8080:80       #将容器内80端口映射至宿主机8080端口,这是访问gitlab的端口
-p 222:22       #将容器内22端口映射至宿主机222端口,这是访问ssh的端口
--restart always #容器自启动
--name gitlab    #设置容器名称为gitlab
-v /usr/local/gitlab/etc:/etc/gitlab    #将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建
-v /usr/local/gitlab/log:/var/log/gitlab   
-v /usr/local/gitlab/data:/var/opt/gitlab  
--privileged=true         #让容器获取宿主机root权限
gitlab/gitlab-ce    #镜像的名称

查询容器是否启动
docker ps
修改容器内配置文件

进入容器

docker exec -it gitlab bash 

修改文件gitlab.rb

vi /etc/gitlab/gitlab.rb

修改内容

// 在gitlab创建项目时候http地址的host(不用添加端口)
external_url 'http://192.168.1.100'
//配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.1.100' //和上一个IP输入的一样
gitlab_rails['gitlab_shell_ssh_port'] = 222 // 此端口是run时22端口映射的222端口

配置gitlab.yml

vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

修改内容,修改host和port

 ## GitLab settings
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: 192.168.1.100
    port: 8080
    https: false
重启服务
gitlab-ctl restart
退出容器
exit

二、gitlab root账户配置

修改root账户的密码

临时密码存放于/etc/gitlab/initial_root_password,这个文件在首次执行24小时后会被删除

进入容器,查询临时密码
docker exec -it gitlab /bin/bash
cat /etc/gitlab/initial_root_password
修改root密码

登录后点击右上角头像->Edit Profile

通过docker搭建gitlab_第1张图片

左侧菜单栏点击password

通过docker搭建gitlab_第2张图片

根据提示进行密码修改

通过docker搭建gitlab_第3张图片

三、开放用户注册

gitlab默认注册用户需要经过root账户审批。我的应用环境为专有内网,允许任何人直接注册。因此需要开放所有用户注册。

点击左上角菜单(Menu),点击Admin

通过docker搭建gitlab_第4张图片

点击Setings -> General -> Sign-up restrictions。

将Require admin approval for new sign-ups 选项取消勾选。

通过docker搭建gitlab_第5张图片

若不想开放用户注册,可讲Sign-up enabled取消勾选。

最后,点击拉至下方点击save changes进行保存

通过docker搭建gitlab_第6张图片

你可能感兴趣的:(运维,docker,gitlab,运维)