安装docker

依次执行下面代码,含义分别是:

  1. 安装docker
  2. 启动docker服务
  3. 查看docker状态(是否启动)
1.yum install docker
2.service docker start
3.ps -ef|grep docker

如果能看到docker的启动信息,那么说明安装成功

使用阿里云加速Docker

Docker官方镜像网站部署在外网,因此我们国内下载比较慢。看了一下国内最好的Docker加速服务就是阿里云了。阿里云的其他镜像比如Maven镜像之类的也都不错。

首先需要注册一个阿里云的帐号,可能还需要其他一点信息。然后进入容器Hub服务控制台,中间有一个加速器。我们点击它之后,阿里云会为我们创建一个专属加速器地址。

然后需要检查Docker客户端的版本,如果小于1.10,只能按照自己系统版本寻找相应的办法了。如果大于等于1.10,就可以直接使用下面的配置方法。配置方法很简单,在/etc/docker/daemon.json中添加一段配置。如果没有该文件则创建。

{
“registry-mirrors”: [“https://av3ysf2s.mirror.aliyuncs.com”]
}

centos 修改保存文件

然后重启Docker

sudo systemctl daemon-reload
sudo systemctl restart docker

docker镜像安装gitlab

docker pull gitlab/gitlab-ce:latest

启动Gitlab

用下面的命令启动一个默认配置的Gitlab。如果我们只在本机测试使用的话,将hostname替换为localhost。如果需要让外部系统也能访问的话使用外网IP地址。

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

配置Gitlab

刚刚启动Gitlab的时候需要我们输入一个密码,这个密码是管理员用户的密码。我们在登录那里使用root作为用户名,然后用刚刚设置的密码,就可以以管理员身份登录Gitlab。

登录进去之后,点击右上角的齿轮图标,即可进入到管理员页面。在这里我们可以设置很多东西。比如说,默认情况下每个用户只能创建10个仓库,我们可以改变这个设置。在管理员页面点击右面的齿轮,再点击设置,就会进入到系统设置中。然后找到Default projects limit一项,我们给它设个小目标,设它一个亿,这样就相当于无限仓库了。当然如果你实际硬盘满了也就不能在创建更多项目了。

如果这些配置还是不能满足你的需求的时候,还可以直接配置Gitlab。首先进入到Docker环境中。我们使用下面的命令进入Docker环境的bash中。gitlab是刚刚指定的Gitlab名称。

sudo docker exec -it gitlab /bin/bash

然后就进入了Docker的环境中,我们可以把它当作一个独立的系统来使用。然后编辑/etc/gitlab/gitlab.rb文件,这是Gitlab的全局配置文件。所有选项都可以在这里配置。

nano /etc/gitlab/gitlab.rb

更新Gitlab

以后如果需要更新Gitlab版本,首先需要停止并删除当前的Gitlab实例。

sudo docker stop gitlab
sudo docker rm gitlab

然后在拉取最新版的Gitlab。

sudo docker pull gitlab/gitlab-ce:latest

然后在使用上次的配置运行Gitlab即可。不用担心数据会丢失。只要你的volume参数指定还和上次一样,Gitlab就会自动读取这些配置。

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

重启gitlab

docker restart gitlab

配置gitlab邮箱

修改gitlab.rb

vi  /etc/gitlab/gitlab.rb

修改信息

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xxuser@163.com"
gitlab_rails['smtp_password'] = "xxpassword"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls']=false
##修改gitlab配置的发信人
gitlab_rails['gitlab_email_from'] = "xxuser@163.com"

参数说明

:address - 允许您使用远程邮件服务器。只需将其从默认的“localhost”设置更改即可。

:port - 如果您的邮件服务器无法在端口25上运行,您可以更改它。

:domain - 如果您需要指定HELO域,可以在此处执行。

:user_name - 如果您的邮件服务器需要身份验证,请在此设置中设置用户名。

:password - 如果您的邮件服务器需要身份验证,请在此设置中设置密码。

:authentication - 如果您的邮件服务器需要身份验证,则需要在此处指定身份验证类型。这是一个符号和:plain(将发送密码Base64编码), :login(将发送密码Base64编码)或 :cram_md5(组合挑战/响应机制交换信息和加密消息摘要 5算法来散列重要信息)

:enable_starttls_auto - 检测SMTP服务器中是否启用了STARTTLS并开始使用它。默认为true。

:openssl_verify_mode - 使用TLS时,您可以设置OpenSSL检查证书的方式。如果您需要验证自签名和/或通配符证书,这非常有用。您可以使用OpenSSL验证常量('none’或 ‘peer’)的名称或直接使用常量(OpenSSL::SSL::VERIFY_NONE或 OpenSSL::SSL::VERIFY_PEER)。:ssl/:tls启用SMTP连接以使用SMTP / TLS(SMTPS:SMTP over direct TLS连接)