Centos7使用docker搭建gitlab服务器
了解到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 reconfigure
gitlab上的项目生成的访问地址如下
# 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

Centos7使用docker搭建gitlab服务器的更多相关文章
- docker搭建gitlab服务器(Centos7)
系统环境:CentOS Linux release 7.6.1810 (Core) git版本:gitlab/gitlab-ce 一.安装和启动docker 见HTTPRUNNERMANAGER安装部 ...
- 基于Docker搭建GitLab服务器
运行环境:CentOS 7.4 一.安装Docker Docker安装可以参照runoob教程(http://www.runoob.com/docker/centos-docker-install.h ...
- 使用docker搭建gitlab服务器
简单记录Docker的使用和GitLab的搭建 Docker基础篇 没有sudo权限 安装docker 基础命令 docker安装mysql和配置 Dockerfile常用命令 制作镜像 发布镜像 容 ...
- 使用docker搭建gitlab 服务器
本次使用的docker版本为 1.首先需要安装docker. 2.启动docker后,service docker start 3.拉取镜像 docker pull gitlab/gitlab- ...
- Docker搭建Gitlab服务器
1.使用docker搜索gitlab镜像 docker search gitlab 2.下载镜像: docker pull docker.io/gitlab/gitlab-ce 3.查看docker镜 ...
- CentOS7 搭建gitlab服务器
本文介绍如何在CentOS7.2上搭建Gitlab服务器,并简单介绍如何使用. Preface 使用的是CentOS7.2的操作系统,安装当前最新版Gitlab服务器,下载地址:清华大学开源软件镜像站 ...
- Ubuntu Docker搭建GitLab以及常规配置使用
安装启动实例 1.首先创建一个目录用于存放配置 sudo docker pull docker.io/gitlab/gitlab-ce sudo mkdir -p /root/docker/gitla ...
- [转帖]知乎专栏:正确使用 Docker 搭建 GitLab 只要半分钟
正确使用 Docker 搭建 GitLab 只要半分钟 https://zhuanlan.zhihu.com/p/49499229 很多程序员在内网搭建 gitlab 都搭建的坑坑洼洼,不支持 htt ...
- 搭建GitLab服务器
前言 每一个开发工作者无非身处2中开发环境:1.开源环境 2.闭源开发环境,若你身处闭源环境或对自己代码安全性要求较高,搭建和使用自己GitLab服务器是必不可少的环节. 可以通过各种方式搭建自己的 ...
随机推荐
- 第二阶段第七次spring会议
昨天我将尝试对软件进行添加搜索引擎的界面. private void linkLabel1_LinkClicked_1(object sender, LinkLabelLinkClickedEvent ...
- JQUERY-修改-API-事件绑定
正课: 1. 修改: 2. 按节点间关系查找: 3. 添加,删除,克隆,替换: 4. 事件绑定: 1. 修改: 内容: html片段: .html(["html片段"]) ...
- 别人的Linux私房菜(13)学习Shell脚本
CentOS6.x以前版本的系统服务启动接口在/etc/init.d/目录下,存放了脚本. Shell脚本因调用外部命令和bash 的一些默认工具,速度较慢,不适合处理大量运算. 执行方式有:直接命令 ...
- Python从入门到精通之Second!
初识Python基础! -基础 -扩展名可以是任意的,但是导入模块时,如果不是.py文件就会报错. -两种执行方式 1.python解释器 文件名.py 文件路径 -Li ...
- css摘要
由于需要,今天花三个小时了解一下css,在此记录一些摘要: 参考w3school 1. 当同一个 HTML 元素被不止一个样式定义时,会使用哪个样式呢? 一般而言,所有的样式会根据下面的规则层叠于一个 ...
- 86、UIWindow简单介绍
一.介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow ios程序启动完毕后,创建的第一个视图控制器 ,接着创建控制器的view,最后将控制器的view添加到 ...
- Embedding层
示例解释: model = Sequential() model.add(Embedding(1000, 64, input_length=10)) #输入中的数值最大值是1000,输出的第三维度是6 ...
- Python的条件判断语句------if/else语句
计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户的年龄,根据年龄打印不同的内容... Python程序中,能让计算机自己作出判断的语句就是if语句: 例: age = 25 ...
- IDEA鼠标显示javadoc的设置
IDEA鼠标显示javadoc的设置 从Eclipse切换到IDEA中以后最不适用的就是鼠标放到方法上没有注释弹出来给我看,很难受,每次使用ctrl+Q来看总觉得不开心,找了一下设置,设置方法如下: ...
- elasticsearch中 refresh 和flush区别(转)
elasticsearch中有两个比较重要的操作:refresh 和 flush refresh操作 当我们向ES发送请求的时候,我们发现es貌似可以在我们发请求的同时进行搜索.而这个实时建索引并可以 ...