一、Gitlab镜像的安装
在搭建Gitlab之前最好调整下虚拟机的内存(4G以上)等参数。
1、使用docker搜索gitlab镜像:
docker search gitlab
2、下载镜像:
docker pull docker.io/gitlab/gitlab-ce
3、查看下载的镜像
docker images
4、运行Gitlab的docker容器
docker run --name='gitlab-ce' -d -p 10022:22 -p 80:80 --restart always --volume /opt/gitlab/config:/etc/gitlab --volume /opt/gitlab/logs:/var/log/gitlab --volume /opt/gitlab/data:/var/opt/gitlab/ gitlab/gitlab-ce
参数说明
:
--name=“gitlab-ce”:为容器指定一个名称
-d:后台运行容器,并返回容器ID
-p:指定映射端口号,本文是将ssh的22端口映射为10022端口,web访问的80端口映射为80端口
-restart:docker服务启动后,容器也自启动,一般docker服务都会设置为随系统启动,因此将-restart的值设置为always意味着系统启动则gitlab也随之启动,若不希望如此可使用如下命令,停止Gitlab的自启动:
docker update --restart=no 容器ID
-volume:用来指定挂载目录,将config配置目录、data数据目录、logs日志目录挂载到宿主机上,以后备份方便
最后就是下载的容器的名称,这样就可以通过docker容器来运行一个gitlab服务器了。
5、查看运行的容器
docker ps
二、配置Gitlab服务器的访问地址及邮箱
1、配置访问地址和邮箱
当运行gitlab服务器后,会在宿主机的挂载目录/opt/gitlab/config/下生成一个配置文件gitlab.rb,编辑该配置文件,内容如下:
# 配置http协议所使用的访问地址
external_url 'http://172.16.81.81'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '172.16.81.81'
gitlab_rails['gitlab_shell_ssh_port'] = 10022
# 配置邮箱(可不配置):这里以新浪的邮箱为例配置smtp服务器
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.xxx.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "name4mail"
gitlab_rails['smtp_password'] = "passwd4mail"
gitlab_rails['smtp_domain'] = "xxx.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
# 还有个需要注意的地方是指定发送邮件所用的邮箱,这个要和上面配置的邮箱一致
gitlab_rails['gitlab_email_from'] = 'name4mail@xxx.com'
2、设置网络(可不配置)
# 设置网络IP
pipework br0 gitlab-ce 172.16.81.81/24@172.16.81.1
3、重启Gitlab容器
# 进入容器
docker exec -it gitlab-ce bash
# 重启gitlab
gitlab-ctl reconfigure
注意
:每次Gitlab的docker容器启动之后都需要执行上面的两个命令,应该是因为挂载的文件配置在宿主机上而不在docker容器中的配置文件中。
执行完之后可以推出容器:exit
4、访问验证
直接在浏览器中输入虚拟机的ip地址(不用输端口),初始页面是设置密码,设置完成后就是一开始看到的效果(初始用户名为root):
可能会出现502页面,此时可以点击最下方的Go Back,就会进入到设置密码页,可以选择设置密码,若已设置则可直接登录
以上参考:参考地址