共计 1923 个字符,预计需要花费 5 分钟才能阅读完成。
了解到 Docker 的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期,于是决定使用 Docker 来搭建 GitLab 服务器。
效果图如下:
系统环境:CentOS Linux release 7.1.1503 (Core)
git 版本:/gitlab/gitlab-ce
一、安装和启动 docker
安装:yum -y install docker
启动:systemctl start docker
开机启动:systemctl enable docker
二、拉取镜像文件
docker images #查看镜像文件,没拉取之前是没有任何镜像的
docker search gitlab #搜索镜像
本文将下载第一个镜像。
docker pull docker.io/gitlab/gitlab-ce #下载镜像,下载完成后
docker images #查看镜像文件
三、运行 gitlab 容器
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=”nginx-lb”: 为容器指定一个名称;
-d: 后台运行容器,并返回容器 ID;
-p: 指定映射端口号,本文是将 ssh 的 22 端口映射为 10022 端口,web 访问的 80 端口映射为 80 端口
-volume: 用来指定挂载目录,将 config 配置目录、data 数据目录、logs 日志目录挂载到宿主机上,以后备份方便
最后就是下载的容器名称
这样就可以通过 docker 容器来运行一个 gitlab 服务器。
docker ps #查看运行的容器
docker stop 名称或者 ID 号 #关闭容器
docker start 名称或者 ID 号 #开启容器
docker rmi ID 号 #删除容器
四、配置 gitlab 服务器的访问地址及邮箱
当运行 gitlab 服务器后,会在映射目录 /opt/gitlab/config/ 目录下生成一个配置文件 gitlab.rb
编辑 gitlab.rb 文件
vim /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
配置邮件
vim /opt/gitlab/config/gitlab.rb
# 这里以新浪的邮箱为例配置 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’
设置网络 IP
# 设置网络 IP
pipework br0 gitlab-ce 172.16.81.81/24@172.16.81.1 修改 gitlab.rb 配置文件之后,重启容器。
# 进入容器
docker exec -it gitlab-ce bash
# 重启 gitlab
gitlab-ctl reconfiguregitlab 上的项目生成的访问地址如下
# HTTP
http://172.16.81.81/root/test-docker-gitlab.git
# SSH
ssh://git@172.16.81.81:10022/root/test-docker-gitlab.git 五、web 访问验证
初始页面是设置密码,设置完成后就是一开始看到的效果。
初始用户名:root